ALV Edit in place.

Hi
I want to have the "Edit in place" functionality in an ALV. Do you have an URL or example of how to do this?
Thanx in advance

Hi,
When we using REUSE_ALV_GRID_DISPLAY
Most of us are facing Problem in ALV GRID if there is any editable field in the grid,When we edit the field in the GRID, it’s not getting reflected in the internal table
Do  like this..
     Write this code in the callback subroutine (eg: in USER_COMMAND subroutine), 
  Data ref1 type ref to cl_gui_alv_grid.
   CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
   IMPORTING
   E_GRID = ref1.
   call method ref1->check_changed_data
Pls do give points ,if this will solve your problem
Cheers,
Pramod

Similar Messages

  • Send sample prg for alv editable from ztable

    Hi ,
    Need of prg for alv editable . get data from ztable in standard tool bar i need to create record insert ,delete ,modify existing records .
    Thanks in advance.
    Regarding,
    kumar

    Hi Anil,
    > Try like this code i wrote this code for fetch some records from database table and approve/ reject
    > the records by clicking buttons.
    REPORT  zcl_timesheet_approval MESSAGE-ID zcl_msg.
    CLASS L_CL_EVENTS DEFINITION                                        *
    Class for inserting buttons on the toolbar                          *
    CLASS l_cl_events DEFINITION.
      PUBLIC SECTION.
        METHODS:
          toolbar FOR EVENT toolbar
                  OF cl_gui_alv_grid
                  IMPORTING e_object
                            e_interactive,
          user_command FOR EVENT user_command
                       OF cl_gui_alv_grid
                       IMPORTING e_ucomm .
    ENDCLASS.                              " L_CL_EVENTS DEFINITION
    CLASS L_CL_EVENTS IMPLEMENTATION                                    *
    Implementation of class L_CL_EVENTS                                 *
    CLASS l_cl_events IMPLEMENTATION.
      METHOD toolbar.
        PERFORM event_toolbar USING e_object.
      ENDMETHOD.                           " TOOLBAR
      METHOD user_command.
        PERFORM event_ucomm USING e_ucomm.
      ENDMETHOD.                           " USER_COMMAND
    ENDCLASS.                              " L_CL_EVENTS IMPLEMENTATION
    Tables decalration..................................................
    TABLES:
        zcl_timesheet.                     " Employee master table
    CONSTANTS:
       c_boolean_yes(1)     TYPE c         " Boolean - yes
                           VALUE 'X',
       c_approve_status(1)  TYPE c         " Approval status
                           VALUE 'A',
       c_rej_status(1)      TYPE c         " Rejected status
                           VALUE 'R',
       c_save_status(1)     TYPE c         " Save status
                           VALUE 'S',
       c_fcode_approve(7)   TYPE c         " Function code - APPROVE
                           VALUE 'APPROVE',
       c_fcode_rej(6)       TYPE c         " Function code - REJECT
                           VALUE 'REJECT',
       c_fcode_back(4)      TYPE c         " Function code - BACK
                           VALUE 'BACK',
       c_fcode_onli(4)      TYPE c         " Function code - EXECUTE
                           VALUE 'ONLI',
       c_fcode_exit(4)      TYPE c         " Function code - EXIT
                           VALUE 'EXIT',
       c_fcode_cancel(6)    TYPE c         " Function code - CANCEL
                           VALUE 'CANCEL',
       c_zero(1)            TYPE c         " Constant value 0
                           VALUE '0',
       c_alv_scr(7)         TYPE c         " GUI status : ALV screen
                           VALUE 'ALV_SCR'.
    Type definition...................................................
    Type definition of the structure to hold  data from table            *
    zcl_timesheet.                                                      *
    TYPES:
      BEGIN OF type_s_time,
        empid        TYPE zcl_timesheet-empid,
                                           " Employee ID
        workdate     TYPE zcl_timesheet-workdate,
                                           " Date
        groupid      TYPE zcl_timesheet-groupid,
                                           " Group ID
        projectid    TYPE zcl_timesheet-projectid,
                                           " Project ID
        projectname  TYPE zcl_timesheet-projectname,
                                           " Project name
        objectid     TYPE zcl_timesheet-objectid,
                                           " Object ID
        objectname   TYPE zcl_timesheet-objectname,
                                           " Object name
        activityid   TYPE zcl_timesheet-activityid,
                                           " Activity ID
        activityname TYPE zcl_timesheet-activityname,
                                           " Activity name
        timeworked   TYPE zcl_timesheet-timeworked,
                                           " Time spent on work
        description  TYPE zcl_timesheet-description,
                                           " Description
        taskstatus   TYPE zcl_timesheet-taskstatus,
                                           " Status of the proj
        billstatus   TYPE zcl_timesheet-billstatus,
                                           " Billing status
        appstatus    TYPE zcl_timesheet-appstatus,
                                           " Staus of the record
        wstatus      TYPE zcl_timesheet-wstatus,
                                           " Working status
        mngcomment   TYPE zcl_timesheet-mngcomment,
                                           " Managers comment
      END OF type_s_time.
    Field-string declarations...........................................
    DATA:
    Field-string to build fieldcat.
       fs_fcat TYPE lvc_s_fcat,
    Field-string for t_timesheet
       fs_timesheet TYPE zcl_timesheet.
    Working variables...................................................
    DATA:
       w_valid(1)   TYPE c,                " To get the flag from check_data
       w_display(1) TYPE c,                " Flag to display all records
       ok_code      TYPE syst-ucomm,       " Function code on dialog screens
       w_okcode     TYPE syst-ucomm,       " Temporary function code
       w_first(1)   TYPE c,                " To place buttons for first time
       w_submit(1)  TYPE c,                " Flag to display submitted records
       w_empid      TYPE zcl_emprecord-empid.
    " Employee ID for GET parameter
    Internal table declarations........................................
    DATA:
    Internal table to build fieldcat.
       t_fcat      TYPE lvc_t_fcat,
    Internal table to display data.
       t_time      TYPE TABLE OF type_s_time,
    Internal table to hold submitted data.
       t_timesheet TYPE TABLE OF zcl_timesheet.
    For ALV ...........................................................
    DATA:
    To create instance for cl_gui_custom_container
      g_grid      TYPE REF TO cl_gui_custom_container,
    To create instance for cl_gui_alv_grid
      g_alv       TYPE REF TO cl_gui_alv_grid,
    To create instance for l_cl_events
      g_events    TYPE REF TO l_cl_events,
    To assign name for custom container
      g_container TYPE scrfname VALUE 'CONTAINER',
    To assign layout
      g_fcatlayo  TYPE lvc_s_layo.
    Selection screen elements............................................
    SELECTION-SCREEN BEGIN OF BLOCK blck WITH FRAME TITLE text-000.
    SELECT-OPTIONS:
      s_group FOR zcl_timesheet-groupid    " Group ID
                             NO INTERVALS,
      s_prjid FOR zcl_timesheet-projectid, " Project ID
      s_empid FOR zcl_timesheet-empid,     " Employee ID
      s_date  FOR zcl_timesheet-workdate.  " Date
    SELECTION-SCREEN END OF BLOCK blck.
    SELECTION-SCREEN BEGIN OF BLOCK blck1 WITH FRAME TITLE text-015.
    PARAMETERS:
      p_app  RADIOBUTTON GROUP g1  USER-COMMAND app ,
                                           " To approve timesheet
      p_disp RADIOBUTTON GROUP g1.         " To display timesheet
    SELECTION-SCREEN END OF BLOCK blck1.
               AT SELECTION-SCREEN EVENT                                 *
    AT SELECTION-SCREEN.
    To perform user actions on the selection screen
      PERFORM user_command.
    MODULE  STATUS_0100  OUTPUT                                         *
    This module will create the objects for the instance and display    *
    the records                                                         *
    MODULE status_0100 OUTPUT.
      SET PF-STATUS c_alv_scr.
      PERFORM set_titlebar USING w_display.
    If program executed in foreground.
      IF sy-batch IS INITIAL.
    If g_grid is empty.
        IF g_grid IS INITIAL.
    To create object for instance grid
          CREATE OBJECT g_grid
            EXPORTING
              container_name = g_container.
    To create object for object grid
          CREATE OBJECT g_alv
            EXPORTING
              i_parent = g_grid.
        ELSE.
          CALL METHOD g_alv->refresh_table_display.
        ENDIF.                             " IF G_GRID IS INITIAL
      ENDIF.                               " IF SY-BATCH IS INITIAL
      REFRESH t_fcat.
    If w_display eq 'X' .
      IF w_display EQ c_boolean_yes.
    To display all records except saved data
        PERFORM display_allrecords.
      ENDIF.                               " IF W_FLAG EQ C_BOOLEAN_YES
      IF w_submit EQ c_boolean_yes.
    To display submitted records
        PERFORM submitted_records.
      ENDIF.                               " IF W_SUBMIT EQ C_BOOLEAN_YES
    ENDMODULE.                             " STATUS_0100  OUTPUT
    MODULE USER_COMMAND_0100  INPUT                                     *
    To perform user actions in the screen 100                           *
    MODULE user_command_0100 INPUT.
    To update the data in the ALV grid
      PERFORM check_changed_data.
      w_okcode = ok_code.
      CLEAR ok_code.
      CASE w_okcode.
        WHEN c_fcode_back.
          LEAVE TO SCREEN 0.
        WHEN c_fcode_exit OR c_fcode_cancel.
          LEAVE PROGRAM.
      ENDCASE.                             " CASE W_OKCODE
    ENDMODULE.                             " USER_COMMAND_0100
    FORM GET_DATA                                                       *
    To get the submitted data from zcl_timesheet                        *
    No parameters are passsed to this subroutine                        *
    FORM get_data .
      SELECT *
        FROM zcl_timesheet
        INTO TABLE t_timesheet
       WHERE empid     IN s_empid
         AND workdate  IN s_date
         AND groupid   IN s_group
         AND projectid IN s_prjid
         AND appstatus EQ c_boolean_yes.
      IF sy-subrc NE 0.
        MESSAGE e000 .
      ELSE.
        CALL SCREEN 100.
      ENDIF.                               " IF SY-SUBRC NE 0
    ENDFORM.                               " GET_DATA
    FORM BUILD_FCAT                                                     *
    To build the field catalog giving managers comment in editable mode *
    -->PR_Tabname   type lvc_tname                                      *
    -->PR_Fieldname type lvc_fname                                      *
    -->PR_Coltext   type lvc_txtcol                                     *
    -->PR_Colpos    type lvc_colpos                                     *
    FORM build_fcat USING pr_tabname   TYPE lvc_tname
                          pr_fieldname TYPE lvc_fname
                          pr_coltext   TYPE lvc_txtcol
                          pr_colpos    TYPE lvc_colpos.
      CLEAR fs_fcat.
      fs_fcat-tabname   = pr_tabname.
      fs_fcat-fieldname = pr_fieldname.
      fs_fcat-coltext   = pr_coltext.
      fs_fcat-col_pos   = pr_colpos.
      IF fs_fcat-fieldname EQ 'MNGCOMMENT'.
        fs_fcat-edit      = c_boolean_yes.
        fs_fcat-lowercase = c_boolean_yes.
        fs_fcat-dd_outlen = 60.
      ELSE.
        fs_fcat-edit      = space.
      ENDIF.                               " IF FS_FCAT-FIELDNAME...
      APPEND fs_fcat TO t_fcat.
    ENDFORM.                               " BUILD_FCAT
      FORM BUILD_FCATD                                                   *
    To build fieldcatalog in the display mode                           *
    -->pr_Tabname   type lvc_tname                                      *
    -->pr_Fieldname type lvc_fname                                      *
    -->pr_Coltext   type lvc_txtcol                                     *
    -->pr_Colpos    type lvc_colpos                                     *
    FORM build_fcatd USING pr_tabname   TYPE lvc_tname
                           pr_fieldname TYPE lvc_fname
                           pr_coltext   TYPE lvc_txtcol
                           pr_colpos    TYPE lvc_colpos .
      CLEAR fs_fcat.
      fs_fcat-tabname   = pr_tabname.
      fs_fcat-fieldname = pr_fieldname.
      fs_fcat-coltext   = pr_coltext.
      fs_fcat-col_pos   = pr_colpos.
      fs_fcat-edit      = space.
      APPEND fs_fcat TO t_fcat.
    ENDFORM.                               " BUILD_FCATD
    FORM ALV_DISPLAY                                                    *
    To display data in ALV                                              *
    --> pr_table type standard table                                    *
    --> pr_fcat  type lvc_t_fcat                                        *
    FORM alv_display USING pr_table TYPE STANDARD TABLE
                           pr_fcat  TYPE lvc_t_fcat .
    Local data declaration....
      DATA: lt_exclude TYPE ui_functions.
    To exclude buttons on the ALV grid
      PERFORM exclude_tb_functions CHANGING lt_exclude.
    To display ALV
      CALL METHOD g_alv->set_table_for_first_display
        EXPORTING
          i_default            = space
          is_layout            = g_fcatlayo
          it_toolbar_excluding = lt_exclude
        CHANGING
          it_outtab            = pr_table[]
          it_fieldcatalog      = pr_fcat[].
    ENDFORM.                               " ALV_DISPLAY
    FORM EVENT_TOOLBAR                                                  *
    Setting toolbar in the alv grid                                     *
    -->E_OBJECT TYPE REF TO CL_ALV_EVENT_TOOLBAR_SET                    *
    FORM event_toolbar USING e_object
                             TYPE REF TO cl_alv_event_toolbar_set.
    Local declaration for the button.
      DATA: ls_toolbar TYPE stb_button.
    To add Approve button
      ls_toolbar-function  = c_fcode_approve.
      ls_toolbar-butn_type = c_zero.
      ls_toolbar-text      = text-001.
      APPEND ls_toolbar TO e_object->mt_toolbar.
    To add Reject button
      CLEAR ls_toolbar.
      ls_toolbar-function  = c_fcode_rej.
      ls_toolbar-butn_type = c_zero.
      ls_toolbar-text      = text-013.
      APPEND ls_toolbar TO e_object->mt_toolbar.
    ENDFORM.                               " EVENT_TOOLBAR
    FORM EXCLUDE_TB_FUNCTIONS                                           *
    To exclude buttons from ALV grid                                    *
    <--> PR_EXCLUDE TYPE UI_FUNCTIONS                                   *
    FORM exclude_tb_functions  CHANGING pr_exclude TYPE ui_functions.
    Local data declaration...
      DATA ls_exclude TYPE ui_func.
    To remove the buttons on the ALV grid.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
      APPEND ls_exclude TO pr_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
      APPEND ls_exclude TO pr_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
      APPEND ls_exclude TO pr_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
      APPEND ls_exclude TO pr_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row.
      APPEND ls_exclude TO pr_exclude.
    ENDFORM.                               " EXCLUDE_TB_FUNCTIONS
    FORM EVENT_UCOMM                                                    *
    After Input in the ALV grid,if user select record and press         *
    approve or reject then the record will get updated                  *
    --> PR_ucomm type sy-ucomm                                          *
    FORM event_ucomm USING pr_ucomm LIKE sy-ucomm.
      CASE pr_ucomm.
    If e_ucomm contains 'APP' i.e.function code for Approve button
        WHEN c_fcode_approve.              " To approve selected record
          PERFORM app_timesheet USING c_approve_status.
    If e_ucomm contains 'REJ' i.e. function code for Reject
        WHEN c_fcode_rej.                  " To reject selected record
          PERFORM app_timesheet USING c_rej_status.
      ENDCASE.                             " CASE E_UCOMM
    ENDFORM.                               " EVENT_UCOMM
    FORM APP_TIMESHEET                                                  *
    To get the selected records and update the records in database      *
      --> pr_status type char01                                          *
    FORM app_timesheet USING pr_status TYPE char01 .
    Local data declaration......
      DATA:
       lt_marked_rows TYPE lvc_t_roid,     " Table to get rowid
       l_fs_marked_row LIKE LINE OF lt_marked_rows.
      " Field-string for lt_marked_rows
    To get all the selected rows in the table lt_marked_rows
      CALL METHOD g_alv->get_selected_rows
        IMPORTING
          et_row_no = lt_marked_rows.
    Reading each row id and updating the database.
      LOOP AT lt_marked_rows INTO l_fs_marked_row.
    Reading the table t_timesheet with rowid
        READ TABLE t_timesheet INTO fs_timesheet INDEX
                                                 l_fs_marked_row-row_id.
    If record is there in the table.
        IF sy-subrc EQ 0.
          CLEAR fs_timesheet-appstatus.
          GET PARAMETER ID 'ZEMPID' FIELD w_empid.
    Changing the appstatus.
          fs_timesheet-appstatus = pr_status.
          fs_timesheet-approvedby = w_empid.
    Updating the database table.
          UPDATE zcl_timesheet FROM fs_timesheet.
          IF sy-subrc EQ 0.
            DELETE t_timesheet INDEX l_fs_marked_row-row_id.
            PERFORM refresh_table USING pr_status.
          ENDIF.                           " IF SY-SUBRC EQ 0.
        ENDIF.                             " IF SY-SUBRC EQ 0
      ENDLOOP.                             " LOOP AT LT_MARKED_ROWS...
    ENDFORM.                               " APP_TIMESHEET
    FORM CHECK_CHANGED_DATA                                             *
    To change the data                                                  *
    No parameters are passsed to this subroutine                        *
    FORM check_changed_data .
    To change the data.
      CALL METHOD g_alv->check_changed_data.
    ENDFORM.                               " CHECK_CHANGED_DATA
    FORM  DISPLAY_ALL                                                   *
    To display all the records                                          *
    No parameters are passsed to this subroutine                        *
    FORM display_all .
      SELECT empid                         " Employee ID
             workdate                      " Workdate
             groupid                       " Groupid
             projectid                     " Project ID
             projectname                   " Project name
             objectid                      " Object ID
             objectname                    " Object name
             activityid                    " Activity ID
             activityname                  " Activity name
             timeworked                    " Time worked
             description                   " Description
             taskstatus                    " Task status
             billstatus                    " Bill status
             appstatus                     " Approved status
             wstatus                       " Working status
             mngcomment                    " Manager comment
        FROM zcl_timesheet
        INTO TABLE t_time
       WHERE empid     IN s_empid
         AND workdate  IN s_date
         AND groupid   IN s_group
         AND projectid IN s_prjid
         AND appstatus NE c_save_status.
      IF sy-subrc NE 0.
        MESSAGE e000.
      ELSE.
        CALL SCREEN 100.
      ENDIF.                               " IF SY-SUBRC NE 0
    ENDFORM.                               " DISPLAY_ALL
    FORM REFFRESH_TABLE                                                 *
    To refresh output table and  issue message according p_status       *
    -->PR_STATUS TYPE CHAR01                                            *
    FORM refresh_table  USING pr_status TYPE char01.
    To refresh output table.
      CALL METHOD g_alv->refresh_table_display.
    Depending upon pr_status message is given.
      IF pr_status EQ c_approve_status.
        MESSAGE s001.
      ELSE.
        MESSAGE s002.
      ENDIF.                               " IF P_STATUS EQ C_APPROVE_STATUS
    ENDFORM.                               " REFRESH_TABLE
    FORM SET_TITLEBAR                                                   *
    To set titlebar on the screen 100.                                  *
    -->PR_STATUS TYPE CHAR01                                            *
    FORM set_titlebar USING pr_status TYPE char01.
    If pr_status eq 'X'.
      IF pr_status EQ c_boolean_yes.
        SET TITLEBAR c_alv_scr WITH text-017.
      ELSE.
        SET TITLEBAR c_alv_scr WITH text-018.
      ENDIF.                               " IF P_STATUS EQ C_BOOLEAN_YES
    ENDFORM.                               " SET_TITLEBAR
    FORM USER_COMMAND                                                   *
    According to sy-ucomm the action is performed in the screen 100     *
    No parameters are passsed to this subroutine                        *
    FORM user_command .
      CASE sy-ucomm.
    If p_app is selected, submitted data will be displayed for approval
        WHEN c_fcode_onli OR c_fcode_approve.
          CLEAR sy-ucomm.
    To display the submitted records.
          IF p_app EQ c_boolean_yes.
            w_submit = c_boolean_yes.
    To get submitted records
            PERFORM get_data.
          ENDIF.                           " IF P_APP EQ C_BOOLEAN_YES
    To display all records according to selection.
          IF p_disp EQ c_boolean_yes.
            w_display = c_boolean_yes.
    To display
            PERFORM display_all.
            CLEAR w_display.
          ENDIF.                           " IF P_DISP EQ C_BOOLEAN_YES
      ENDCASE.                             " CASE SY-UCOMM
    ENDFORM.                               " USER_COMMAND
    FORM  DISPLAY_ALLRECORDS                                            *
    To display all the records in the display mode                      *
    No parameters are passsed to this subroutine                        *
    FORM display_allrecords .
      CLEAR w_display.
      PERFORM build_fcatd USING 'T_TIME' 'WORKDATE'     text-002 '1'.
      PERFORM build_fcatd USING 'T_TIME' 'EMPID'        text-009 '2'.
      PERFORM build_fcatd USING 'T_TIME' 'PROJECTID'    text-003 '3'.
      PERFORM build_fcatd USING 'T_TIME' 'PROJECTNAME'  text-004 '4'.
      PERFORM build_fcatd USING 'T_TIME' 'OBJECTID'     text-005 '5'.
      PERFORM build_fcatd USING 'T_TIME' 'OBJECTNAME'   text-006 '6'.
      PERFORM build_fcatd USING 'T_TIME' 'ACTIVITYID'   text-007 '7'.
      PERFORM build_fcatd USING 'T_TIME' 'ACTIVITYNAME' text-008 '8'.
      PERFORM build_fcatd USING 'T_TIME' 'TIMEWORKED'   text-010 '9'.
      PERFORM build_fcatd USING 'T_TIME' 'DESCRIPTION'  text-011 '10'.
      PERFORM build_fcatd USING 'T_TIME' 'APPSTATUS'    text-012 '11'.
      PERFORM build_fcatd USING 'T_TIME' 'BILLSTATUS'   text-016 '12'.
      PERFORM build_fcatd USING 'T_TIME' 'MNGCOMMENT'   text-014 '13'.
      PERFORM alv_display USING t_time t_fcat.
    ENDFORM.                               " DISPLAY_ALLRECORDS
    FORM SUBMITTED_RECORDS                                              *
    To display submitted records for the manager to approve             *
    No parameters are passsed to this subroutine                        *
    FORM submitted_records .
      CLEAR w_submit.
    To create object for instance g_events
      CREATE OBJECT g_events.
    If w_first equal to space
      IF w_first IS INITIAL.
        SET HANDLER g_events->toolbar
                FOR g_alv.
        w_first = c_boolean_yes.
      ENDIF.                               " IF W_FIRST IS INITIAL..
      SET HANDLER g_events->user_command
              FOR g_alv.
      g_fcatlayo-sel_mode = c_approve_status.
      REFRESH t_fcat.
      PERFORM build_fcat USING 'T_TIMESHEET' 'WORKDATE'     text-002 '1'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'EMPID'        text-009 '2'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'PROJECTID'    text-003 '3'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'PROJECTNAME'  text-004 '4'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'OBJECTID'     text-005 '5'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'OBJECTNAME'   text-006 '6'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'ACTIVITYID'   text-007 '7'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'ACTIVITYNAME' text-008 '8'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'TIMEWORKED'   text-010 '9'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'DESCRIPTION'  text-011 '10'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'APPSTATUS'    text-012 '11'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'BILLSTATUS'   text-016 '12'.
      PERFORM build_fcat USING 'T_TIMESHEET' 'MNGCOMMENT'   text-014 '13'.
      PERFORM alv_display USING t_timesheet t_fcat.
    ENDFORM.                               " SUBMITTED_RECORDS
    Plzz Reward if it is useful,
    Mahi.

  • Edit-in-place NOT working...

    I've recently installed FCS at our small shop. I've read the Geller book, followed the Admin manual, and pretty much have gotten it to work.
    However, I can't get "edit in place" to work. It did work when I initially installed the system and tested it. And now, after a complete re-install, it doesn't work.
    I am using two local RAIDs. Each have a media directory that I set up as a device. For example:
    One device is called "Mojo Project Media 02"
    In the Device Pane (on the Admin / Client Java Interface) the Local Directory reads:
    "/Volumes/RAID_02/Mojo Project Media 02"
    So the Mac edit-in-place URI reads:
    "file://localhost/Volumes/RAID_02/Mojo Project Media 02"
    I can't get the edit in place URI to not ad "localhost" but I don't think this should matter.
    Whenever I try to move media into a Browser Window from FCS, it tells me I must copy it to my local cache first. This didn't happen when I first installed/configured the system.
    Can you not set up edit-in-place for a local directory (ie. a volume locally attached to the server with FCS installed)?
    I know it worked before. Is there something I am missing?

    Thanks A. Richards.
    After much testing, I realized that on the FCSr machine that it indeed had edit-in-place status because of the storage directly attached to it. BUT the other client computers did not.
    So basically, since we don't have the $1000 a seat for XSAN and we are only cutting DV and DVCPRO HD...
    We could configure our Mac Pro Server to be an AFP share over the network; it's plenty fast over Ethernet since it's aggregated over 6 gigabit ports to a switch and has PCIe RAID storage attached. We could give this edit-in-place status IF...
    We used another machine (server class) to install FCSr on.
    This would work right?

  • ODrive Edit in Place PDF Document Manual Versioning enabled Error

    Hi,
    Any one has tried or able to do edit in place with ODrive and PDF Document type?
    I have manual versioning enable. When I am doing edit in place from ODrive for PDF Document getting following error.
    I have manually check out the document before doing Edit from ODrive.
    Need help to resolve this issue.
    Thanks,
    Jigar
    Error logs
    07/05/31 15:45:07 content: [oracle.ifs.ecm.util.FolderUtilities] [24] 99117 publicuser1 INFO: resolveLegacyPath targetPath =
    07/05/31 15:46:29 content: [oracle.ifs.protocols.dav.ecm.EcmDavServlet] [23] 99117 publicuser1 WARNING: no mapping found for ORACLE.FDK.ItemNotCheckedOut
    07/05/31 15:46:29 content: [oracle.ifs.protocols.dav.ecm.EcmDavServlet] [23] 99117 publicuser1 WARNING: unmapped exception: oracle.ifs.fdk.FdkException:
    ErrorCode = ORACLE.FDK.AggregateError; DetailedErrorCode = ORACLE.FDK.AggregateError; Cause = IFS-90244: Cannot update all of the specified
    items; ServerStackTraceId = ; Info = null; Entries = 1
    Main Exception Stack Trace:
    ORACLE.FDK.AggregateError:ORACLE.FDK.AggregateError
    at oracle.ifs.fdk.FdkException.getInstance(FdkException.java:181)
    at oracle.ifs.fdk.FdkException.getInstance(FdkException.java:74)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1661)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)
    at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)
    at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    Caused by: oracle.ifs.common.IfsException: IFS-90244: Cannot update all of the specified items
    at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:369)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)
    ... 19 more
    FdkException Details: oracle.ifs.fdk.FdkException: ErrorCode = ORACLE.FDK.AggregateError; DetailedErrorCode = ORACLE.FDK.AggregateError;
    Cause = IFS-90244: Cannot update all of the specified items; ServerStackTraceId = ; Info = null; Entries = 1
    Entry[0] = oracle.ifs.fdk.FdkExceptionEntry: ErrorCode = ORACLE.FDK.OperationError; DetailedErrorCode = ORACLE.FDK.ItemNotCheckedOut;
    ItemID = 99150; Cause = IFS-90301: Cannot update a Document under version control that is not checked out; Info = null
    Cause Exception Stack Trace:
    oracle.ifs.common.IfsException: IFS-90301: Cannot update a Document under version control that is not checked out
    at oracle.ifs.ecm.beans.EcmDocument.lowLevelUpdate(EcmDocument.java:938)
    at oracle.ifs.ecm.beans.EcmDocument.ecmUpdate(EcmDocument.java:618)
    at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:345)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)
    at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)
    at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    Entry[0] = oracle.ifs.fdk.FdkExceptionEntry: ErrorCode = ORACLE.FDK.OperationError; DetailedErrorCode = ORACLE.FDK.ItemNotCheckedOut;
    ItemID = 99150; Cause = IFS-90301: Cannot update a Document under version control that is not checked out; Info = null
    Cause Exception Stack Trace:
    oracle.ifs.common.IfsException: IFS-90301: Cannot update a Document under version control that is not checked out
    at oracle.ifs.ecm.beans.EcmDocument.lowLevelUpdate(EcmDocument.java:938)
    at oracle.ifs.ecm.beans.EcmDocument.ecmUpdate(EcmDocument.java:618)
    at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:345)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)
    at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)
    at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    07/05/31 15:46:29 content: Servlet error
    ORACLE.FDK.AggregateError:ORACLE.FDK.AggregateError
    at oracle.ifs.fdk.FdkException.getInstance(FdkException.java:181)
    at oracle.ifs.fdk.FdkException.getInstance(FdkException.java:74)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1661)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)
    at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)
    at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    Caused by: oracle.ifs.common.IfsException: IFS-90244: Cannot update all of the specified items
    at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:369)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)
    ... 19 more
    FdkException Details: oracle.ifs.fdk.FdkException: ErrorCode = ORACLE.FDK.AggregateError; DetailedErrorCode = ORACLE.FDK.AggregateError;
    Cause = IFS-90244: Cannot update all of the specified items; ServerStackTraceId = ; Info = null; Entries = 1
    Entry[0] = oracle.ifs.fdk.FdkExceptionEntry: ErrorCode = ORACLE.FDK.OperationError; DetailedErrorCode = ORACLE.FDK.ItemNotCheckedOut;
    ItemID = 99150; Cause = IFS-90301: Cannot update a Document under version control that is not checked out; Info = null
    Cause Exception Stack Trace:
    oracle.ifs.common.IfsException: IFS-90301: Cannot update a Document under version control that is not checked out
    at oracle.ifs.ecm.beans.EcmDocument.lowLevelUpdate(EcmDocument.java:938)
    at oracle.ifs.ecm.beans.EcmDocument.ecmUpdate(EcmDocument.java:618)
    at oracle.ifs.ecm.util.BulkUtilities.ecmUpdate(BulkUtilities.java:345)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocuments(FileManagerImpl.java:1653)
    at oracle.ifs.fdk.impl.FileManagerImpl.updateDocument(FileManagerImpl.java:1511)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.doPut(EcmDavServlet.java:1688)
    at oracle.ifs.protocols.dav.DavServlet.doPut(DavServlet.java:1929)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2622)
    at oracle.ifs.protocols.dav.ecm.EcmDavServlet.processRequest(EcmDavServlet.java:3616)
    at oracle.ifs.protocols.dav.DavServlet.processRequest(DavServlet.java:2396)
    at oracle.ifs.protocols.dav.DavServlet.service(DavServlet.java:2361)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:103)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)

    Hi Matt,
    Thank you for your very useful reply.
    I have non blocking serial approval workflow.
    In my workflow I have attachment as PDF document to be signed. URI of that document is from Odrive. Foe example O:\sjrwmd\DMSFAContainer\DMSFALibrary\36397\P041282\978599\Invoice_with_2_blank_sig_OD_2.pdf
    When task has been assign to any user, from task detail page of the worklist application user click / open that pdf file and sign the document. When user save this document Odrive should save that to Contentdb.
    Just wanted to know that why it is not ODrive bug?
    I was able to do following test It works only in Acrobat 6.0.
    Steps I did,
    1) Upload pdf file to folder with manual versioning enable.
    2) Manually checked out file from web ui.
    3) Login to ODrive using same user
    4) Created html file with link (Please replace href portion to your url of the file)
    <HTML>
    <BODY>
    Testing Link <BR>
    <a class="blue" href="O:/sjrwmd/DMSFAContainer/DMSFALibrary/36397/P041282/978599/Invoice_102_wit
    h_blank_sig_OD.pdf" target="_blank">Invoice_101CD.pdf</a> <BR>
    <a class="blue" href="O:/sjrwmd/DMSFAContainer/DMSFALibrary/16966/P040577/246361/ST_Memo.doc"
    target="_blank">ST_Memo.doc</a>
    </BODY>
    </HTML>
    5) Open html in browser
    6) Click on document link
    7) Will open pdf files in browser
    8) Sign the document
    9) Click on save a copy button.
    10) In the save a copy dialog , file name place paste your file url of o drive for example in my
    case
    O:/sjrwmd/DMSFAContainer/DMSFALibrary/36397/P041282/978599/Invoice_102_with_blank_sig_OD.pdf
    click save
    11) This should save updated file
    12) Checked in document
    I will look into programmatically way to achive this.
    Regards,
    Jigar

  • ALV Editable not working

    Hello Abapers,
    I am not getting the desired output as per example.
    I have followed all the steps as per the example but still a looser can anyone help me in this.
    When I execute the program I get the following run time error
    Field symbol has not been assigned.
    I tried commenting the subroutine call
    1} perform Change_fieldcatalogue and fetch data.
    and i was getting the 2 custom container (top, bottom)  on the screen output this time.
    I have also created a screen 600 with all the attributes.
    But i have doubt with this statement
    Create a Custom container and name it CCONT and OK code as OK_CODE.
    Save check and Activate the screen painter.
    I hope on the layout screen the one which says custom control is only the custom container but i see that the fct code box is not highlighted then how can i assign a fctcode.
    Could you plz also clear this.
    Thanks in advance.
    Ranjith Nambiar
    Program code below
    A small note about this program
    *& AS : ALV report which displays the contents of the table T006
    *& (as a docking container in the bottom) along with the
    *& editable ALV which contains the ALV fieldcatalogue table structure.
    *& With the available toolbar options of the editable ALV in the output,
    *& user can change the fieldcatalogue as per his requirement.
    *& When the user clicks 'SUBMIT',the display of the ALV with table T006
    *& gets modified and customised accordingly to the user's requirement.
    REPORT  ZNRD_ALV_EDITABLE.
    * Structure declaration for t006
    types : begin of ty_t006.
            include structure t006.
    types : end of ty_t006.
    * Internal table and work area declaration for t006.
    data : it_t006 type standard table of ty_t006,
           wa_t006 type ty_t006.
    * Declaration for ALV
    data : ok_code type sy-ucomm,            " Ok code.
           it_fcat type lvc_t_fcat,          " Fieldcatalogue.
           it_fieldcat type lvc_t_fcat,      "  Fieldcatalogue for Fieldcatalogue itself.
           it_layout type lvc_s_layo.
    *Declaration for toolbar functions
    data : it_excl_func type ui_functions,
    * Controls to display it_t006 and its fieldcatalogue
           cont_dock type ref to cl_gui_docking_container,
           cont_alvgd type ref to cl_gui_alv_grid,
    * Controls to display fieldcatalogue as editable alv gridand container
           cont_cust type ref to cl_gui_custom_container,
           cont_editalvgd type ref to cl_gui_alv_grid.
    initialization.
    start-of-selection.
    * Local class definition for data changed in fieldcatalogue alv
    CLASS lcl_event_receiver definition.
    public section.
      methods handle_data_changed
      for event data_changed of cl_gui_alv_grid
        importing er_data_changed.
    endclass.        " lcl_event_receiver definition.
    * Local class implementation for data changed in fieldcatalogue alv
    CLASS lcl_event_receiver implementation.
      method handle_data_changed.
      endmethod.     " handle_data_changed.
    endclass.        "lcl_event_receiver implementation
    * Data declaration for event receiver
    data : event_receiver type ref to lcl_event_receiver.
    end-of-selection.
    * Setting the screen for alv output for table display and changed fieldcatalogue display
    set screen 600.
    *&      Module  STATUS_0600  OUTPUT
    *       text
    MODULE STATUS_0600 OUTPUT.
      SET PF-STATUS 'STATUS600'.
      SET TITLEBAR 'TITLE600'.
    * Create ALV grid if doesn't exits.
    if cont_dock is initial.
      perform Create_alv.
    endif.
    ENDMODULE.                 " STATUS_0600  OUTPUT
    *&      Form  Create_alv
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM Create_alv.
    * Create a docking container and dock the control at the bottom
    create object cont_dock
      exporting
        dynnr = '600'
        extension = 100
        side = cl_gui_docking_container=>dock_at_bottom.
    * Create ALV grid for displaying the table
    create object cont_alvgd
      exporting
        i_parent = cont_dock.
    * Create custom container for ALV
    create object cont_cust
      exporting
        container_name = 'CCONT'.
    * Create alv editable grid
    create object cont_editalvgd
    exporting
       i_parent = cont_cust.
    * Register events for the editable alv
    create object event_receiver.
    set handler event_receiver->handle_data_changed for cont_editalvgd.
    call method cont_editalvgd->register_edit_event
      exporting
        i_event_id = cl_gui_alv_grid=>mc_evt_modified.
    *Building fieldcatalogue for the initial display
    perform Build_fieldcatalogue changing it_fcat it_fieldcat.
    * Building the fieldcatalogue after the user has changed it
    perform Change_fieldcatalogue changing it_fieldcat.
    * Fetch data from the table.
    perform Fetch_data.
    * Get excluding functions for the alv editable tool bar
      APPEND cl_gui_alv_grid=>mc_fc_loc_append_row TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_loc_insert_row TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_loc_cut TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_sort TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_sort_asc TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_sort_dsc TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_subtot TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_sum TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_graph TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_info TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_print TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_filter TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_views TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_mb_export TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_mb_sum TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_mb_sum TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_mb_paste TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_find TO it_excl_func.
      APPEND cl_gui_alv_grid=>mc_fc_loc_copy  TO it_excl_func.
    *Alv display for the T006 table at the bottom
      CALL METHOD cont_alvgd->set_table_for_first_display
        CHANGING
          it_outtab       = it_t006[]
          it_fieldcatalog = it_fcat[].
    * optimize column width of grid displaying fieldcatalog
      it_layout-cwidth_opt = 'X'.
    * Get fieldcatalog of table T006 - alv might have
    * modified it after passing.
      CALL METHOD cont_alvgd->get_frontend_fieldcatalog
        IMPORTING
          et_fieldcatalog = it_fcat[].
    *to Send Buffered Automation Queue to Frontend
      CALL METHOD cl_gui_cfw=>flush.
    * Display fieldcatalog of table T006 in editable alv grid
      CALL METHOD cont_editalvgd->set_table_for_first_display
        EXPORTING
          is_layout            = it_layout
          it_toolbar_excluding = it_excl_func
        CHANGING
          it_outtab            = it_fcat[]
          it_fieldcatalog      = it_fieldcat[].
    ENDFORM.                    " Create_alv
    *&      Module  USER_COMMAND_0600  INPUT
    *       text
    MODULE USER_COMMAND_0600 INPUT.
    case ok_code.
      when 'SUBMIT'.
    * To get the current fieldcatalogue from the front end
        call method cont_alvgd->set_frontend_fieldcatalog
        exporting
          it_fieldcatalog = it_fieldcat.
        call method cont_alvgd->refresh_table_display.
        call method cl_gui_cfw=>flush.
      when 'EXIT'.
        leave program.
    endcase.
    ENDMODULE.                 " USER_COMMAND_0600  INPUT
    *&      Form  Build_fieldcatalogue
    *       text
    *      <--P_IT_FCAT  text
    *      <--P_IT_FIELDCAT  text
    FORM Build_fieldcatalogue  CHANGING P_IT_FCAT
                                        P_IT_FIELDCAT.
    * Fieldcatalog for table T006: it_fldcat
    * to generate the fields automatically
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name       = 'T006'
        CHANGING
          ct_fieldcat            = it_fieldcat[]
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
    * Fieldcatalog for table LVC_T_FCAT:it_fcat
    * Generate fieldcatalog of fieldcatalog structure.
    * This fieldcatalog is used to display fieldcatalog 'it_fldcat'
    * on the top of the screen.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name       = 'LVC_S_FCAT'
        CHANGING
          ct_fieldcat            = it_fcat[]
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
    ENDFORM.                    " Build_fieldcatalogue
    *&      Form  Change_fieldcatalogue
    * After the user has modified the fieldcatalogue we build another fieldcat
    * for the modified alv display
    *      <--P_IT_FIELDCAT  text
    FORM Change_fieldcatalogue  CHANGING P_IT_FIELDCAT.
      DATA ls_fcat TYPE lvc_s_fcat.
      LOOP AT it_fcat INTO ls_fcat.
        ls_fcat-coltext = ls_fcat-fieldname.
        ls_fcat-edit = 'X'.
        IF ls_fcat-fieldname = 'COL_POS' OR ls_fcat-fieldname = 'FIELDNAME'.
          ls_fcat-key = 'X'.
        ENDIF.
        MODIFY it_fcat FROM ls_fcat.
      ENDLOOP.
    ENDFORM.                    " Change_fieldcatalogue
    *&      Form  Fetch_data
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM Fetch_data .
      select * from t006 into table it_t006 up to 50 rows.
    ENDFORM.                    " Fetch_data

    comment this particular section deals with top container.
    CALL METHOD cont_editalvgd->set_table_for_first_display
        EXPORTING
          is_layout            = it_layout
          it_toolbar_excluding = it_excl_func
        CHANGING
          it_outtab            = it_fcat[]
          it_fieldcatalog      = it_fieldcat[].
    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name       = 'LVC_S_FCAT'  "This is deep strucure
        CHANGING
          ct_fieldcat            = it_fcat[]
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
    LVC_S_FCAT is a deep structure , so try to comment that section and see. if you want that part , populate the fieldcatalog manually.

  • HOW TO: EDIT IN PLACE ON WINDOWS CLIENT

    Hi everybody,
    I work in TIBA (broadcaster company), we use FCS so much and I have a problem, actually i have running edit in place on XSAN for MAC clients, but i cant work of the same way on windows.
    We have XSAN and fiber channels working.
    I configure the device but it doesn´t work.
    Somebody, help me please. My email is [email protected]
    Kind regards
    Emiliano

    Hi,
    No iam not using stornext for the windows clients.
    The mac and windows clients running on ethernet. The the mac clients have mapped the xsan volumes using AFP or SMB protocol and the edit in place works ok.
    The windows clients have mapped the xsan volumes through SMB but the edit un place doesnt work, the files are cached and doesn´t run as edit in place.
    Note: sorry by my english.
    kind regard.
    Emiliano
    Are you using StorNext FX to add the Windows clients to your Xsan? If so, then all you have to do is add the Windows Edit-in-place URI to each EIP device in the Devices section of the Java client Admin GUI (not the System Preferences pane). Once you've done that, EIP will work for the Windows clients as well. Here are the instructions for entering the correct URI syntax.
    If you are not using StorNext FX for your Windows clients, please give us more detail on how your system is set up.

  • How to set column names in OVS search help of ALV EDIT

    Hi All,
    I have a OVS search help for my ALV EDIT column.This OVS will have two columns,I need to give the names(name1 , name2)  to the columns.
    I am writing the below codo in phase 0.
          ls_text-name = 'Column1'.
          ls_text-value = 'name1'.
          INSERT ls_text INTO TABLE lt_column_texts.
          ls_text-name = 'Column2'.
          ls_text-value = 'name2'.
          INSERT ls_text INTO TABLE lt_column_texts.
          ovs_callback_object->set_configuration(
                    label_texts  = lt_label_texts
                    column_texts = lt_column_texts
                    group_header = lv_group_header
                    window_title =  lv_window_title
                    table_header = lv_table_header
                    col_count    = 2
                    row_count    = 20 ).
    Below code in Phase 3.
          Assign ovs_callback_object->selection->* to <ls_selection>.
          if <ls_selection> is assigned.
            ovs_callback_object->context_element->set_attribute(
            name = `ATR1`
            value = <ls_selection>-Column1 ).
          endif.
    But,the column names are not getting set.Please provide your inputs.
    Regards,
    Salma

    hi,
    About your requirement, i don't know why you need to code in "Phase 3" of OVS.
    "Phase 3" is used for transporting your selected value to Your ALV.
    I think, the reason why you loose the result table including your customized column title, is that you loose the "Phase 2".
    Generally, in the past i used OVS as the following code simply.Just one example:
    * declare data structures for the fields to be displayed and
    * for the table columns of the selection list, if necessary
      types:
        begin of lty_stru_input,
    *   add fields for the display of your search input here
          carrid type string,
          connid type string,
        end of lty_stru_input.
      types:
        begin of lty_stru_list,
    *   add fields for the selection list here
          carrid type string,
          connid type string,
          text   type string,
        end of lty_stru_list.
      data: ls_search_input  type lty_stru_input,
            lt_select_list   type standard table of lty_stru_list,
            ls_text          type wdr_name_value,
            lt_label_texts   type wdr_name_value_list,
            lt_column_texts  type wdr_name_value_list,
      case ovs_callback_object->phase_indicator.
        when if_wd_ovs=>co_phase_0.  "configuration phase, may be omitted
    *   in this phase you have the possibility to define the texts,
    *   if you do not want to use the defaults (DDIC-texts)
          ls_text-name = 'CARRID'.  "must match a field name of search
          ls_text-value = 'Search Field-Carrid'.
          insert ls_text into table lt_label_texts.
          ls_text-name = 'CONNID'.  "must match a field name of search
          ls_text-value = 'Search Field-Connid'.
          insert ls_text into table lt_label_texts.
          ls_text-name = 'CARRID'.  "must match a field in list structure
          ls_text-value = 'Result-Carrid'.
          insert ls_text into table lt_column_texts.
          ls_text-name = 'CONNID'.  "must match a field in list structure
          ls_text-value = 'Result-Connid'.
          insert ls_text into table lt_column_texts.
          ls_text-name = 'TEXT'.  "must match a field in list structure
          ls_text-value = 'Result-Text'.
          insert ls_text into table lt_column_texts.
          lv_group_header = 'Group Header'.
          lv_window_title = 'Window Title'.
          lv_table_header = 'Table Header'.
          ovs_callback_object->set_configuration(
                    label_texts  = lt_label_texts
                    column_texts = lt_column_texts
                    group_header = lv_group_header
                    window_title = lv_window_title
                    table_header = lv_table_header
                    col_count    = 3
                    row_count    = 8 ).
    when if_wd_ovs=>co_phase_2.
    *   If phase 1 is implemented, use the field input for the
    *   selection of the table.
    *   If phase 1 is omitted, use values from your own context.
          if ovs_callback_object->query_parameters is not bound.
    ******** TODO exception handling
          endif.
          assign ovs_callback_object->query_parameters->*
                                  to <ls_query_params>.
    SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_select_list FROM ZTABLE_FLIGHT
                           WHERE CARRID LIKE lw_carrid
                                 AND CONNID LIKE lw_connid
    *ovs_callback_object->set_output_table( output = lt_select_list ).*
    Hope it can help.
    Best wishes.

  • Assets are "Edit In Place" yet dragging to Final Cut Pro requests caching

    This is an odd one. I have a large number of assets on our device that I can successfully drag from Final Cut Server directly to Final Cut Pro without issue. However I have what appears to be thousands of assets on the exact same device that I can not drag without the dialog box "You must add this asset to the cache before you can use it in a Final Cut Studio project."
    This is very weird. If I right click on the asset in Final Cut Studio and select to view the Original Media I get the warning "The asset is an edit-in-place asset. Any changes..." so obviously it knows it is an edit in place asset, so why are they giving me grief when dragging to Final Cut Pro?
    Specs: Final Cut Server 1.1, Final Cut Pro 6.0.4
    Thanks!

    Sorry that I keep replying to myself, but the bazaar behavior continues...
    I took one of these odd assets and made a copy to my desktop. Then I deleted the asset and file within Final Cut Server. Next I moved the asset from my desktop back to the original location and waited for a Full Scan to pick up the asset.
    After the Full Scan, the asset was draggable to Final Cut Pro! I can't possibly do this to every asset. Did the database get corrupt?
    Ideas? Thanks!

  • 'Edit in Place' for XLSM-files (Excel Macro-Enabled)

    Hi,
    is it possible to activate 'Edit in Place' for xlsm-files (Excel Macro-Enabled Workbook file)?
    For xls(x)-files there is the link 'Edit This File', but not for files of type 'xlsm' allthough they could be dealt the same way with Excel.
    I know I can edit this files using the 'Add-in for MS Office' and via the 'Vibe Desktop', but it would be nice to deal them like other Excel-files.
    thx
    Martin

    Originally Posted by mschuhmann
    RTFM helps I admit:
    Novell Vibe 3.3 Administration Guide > Site Setup > Setting Up Site-Wide Customizations > Configuring File Associations for Edit in Place Applications
    Novell Doc: Novell Vibe 3.3 Administration Guide - Configuring File Associations for Edit in Place Applications
    Append ".xlsm" for the variable edit.in.place.file.applet.extensions, edit.in.place.file.webdav.extensions
    Hi Martin,
    Yeah, the Vibe docs can help on occasion
    Still, thanks for feeding it back to the forums as it can be quicker finding a hit in the forums than having to go through the docs!
    Cheers,
    Willem

  • Problem with alv edit and save

    hi all,
           can anyone find me a solution for alv edit and save...the issue is that i will be editing and just clicking on save button withot any row selction and the data changed should be updated in database.
                                                                                    sunil.

    Hi Bhaskar,
    To make fields editable in ALV, while creating the field catalog for ALV, use:-
    wa_field-edit = 'X'. " to make a field editable
    To check the data changed in ALV, use code:-
    ALV GRID Display
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        i_callback_program                = sy_repid " report id
        i_callback_user_command           = 'USER_COMMAND' " to handle user command
        it_fieldcat                       = it_field " for field catalog
        it_sort                           = it_sort " for sort records info
      TABLES
        t_outtab                          = it_final "internal table with records
      EXCEPTIONS
        program_error                     = 1
        OTHERS                            = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Sub-routine USER_COMMAND
    FORM user_command USING v_okcode LIKE sy-ucomm selfield TYPE slis_selfield.
    * assign the function code to variable v_okcode
      v_okcode = sy-ucomm.
    * handle the code execution based on the function code encountered
      CASE v_okcode.
    * when the function code is EXECUTE then process the selected records
        WHEN 'EXECUTE'.
    *to reflect the data changed into internal table
          DATA : ref_grid TYPE REF TO cl_gui_alv_grid. "new
          IF ref_grid IS INITIAL.
            CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
              IMPORTING
                e_grid = ref_grid.
          ENDIF.
          IF NOT ref_grid IS INITIAL.
            CALL METHOD ref_grid->check_changed_data.
          ENDIF.
    * refresh the ALV Grid output from internal table
          selfield-refresh = c_check.
    ENDCASE.
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir

  • How to handle 'ENTER' Key on ALV Editable Grid on sub screen (Tabstrips)

    Hello Experts ,
    I have 2 questions with ALV Editable grid;
    please help me if you have answers.
    I created ALV grid on one of sub screens on a Tab Strip,
    As soon as user types one of the columns of the ALV grid and press u2018ENTERu2019 key, it has to return corresponding details for that line.
    I tried to implement this logic in ALV grid event u2018handle_data_changedu2019, but ALV internal table is not getting populated with new entry entered in the grid. but u2018double_clicku2019 event working my purpose, but user might need enter key.
    and I thought I would do implement that logic in PAI event of the sub screen, u2018ENTERu2019 key not getting trigger on PAI event of the screen until cursor is on grid.
    Another question 2:  How do I control and not to be deleted a line on the grid (based on validation), where do I validate and by pass the delete function for a particular line, or suggest me to gray out only one line on the grid .
    I would like to have delete function to work as it is ,except for some validations..
    Can I implement using PAI event of the sub screen or any by ALV event.
    Please suggest me..
    Edited by: Ravindranath Arusam on May 13, 2010 2:42 PM

    In DATA_CHANGED event, you will get the modified row into the attribute MP_MOD_ROWS of the impoerting object ER_DATA_CHANGED. Since this MP_MOD_ROWS is the Object reference to Data, you need to have the field symbol to get the value.
      FIELD-SYMBOLS:  <lft_mod_output>  TYPE t_t_output.
      ASSIGN  er_data_changed->mp_mod_rows->* TO <lft_mod_output>.
    You can get the Value of the Cell by using the method GET_CELL_VALUE of the same ER_DATA_CHANGED object and use the method MODIFY_CELL To update the value back to ALV.
    To Restrict the row deletion:
    When the row is deleted it is being added to Attribute mt_deleted_rows of the object ER_DATA_CHANGED. You can put the data back to the table in the DATA_CHANGE_FINISHED event. Visit this post http://help-abap.blogspot.com/2008/10/alv-disable-delete-key-on-keyboard-in.html for more information.
    Regards,
    Naimesh Patel

  • How do you edit the "place" in Places?

    I've been working on assigning places to images in my Aperture library. I'm doing this manually.
    At the top of the Map View, you see the Country, State, City and Place. I cannot figure out how to edit the Place. Aperture keeps assigning the same Place to all of my images.
    For example, I have photos from Berryville, Virginia. When I add that location, it automaticallly adds Folly Beach as the Place. Same thing happens with some photos taken in New Orleans.
    Moving the Pin doesn't solve the issue. I've deleted the loation and tried adding it again, but the same thing happens. I don't see anything in the Aperture user manual that addresses this.
    Any help would be appreciated.

    It took me some time to figure it out, too:
    What I do for my older pictures without gps data is:
    - select the picture in the places view
    - Main menu -> Metadata -> assign Location
    - in the search field (upper left corner) I enter the name of a Landmark that I am looking for
    - Aperture will show the landmark on the map, marked by a pin, and a place name that I do not want
    - then I move the pin to the precise spot on the map and adjust the radius to a very small value, so that not all my pictures will show up in the same location
    - now in the bottom row text field the place name can be edited. I change it to the name I want and press "assign"
    Hope that helps
    Léonie

  • Edit-In-Place with CMSDK 9.0.4.2.X ?

    Hi all,
    Oracle Content Services and Oracle Content DB ship with a special Active-X-Component "Edit-in-Place" which allows the user to edit documents directly in an Oracle-Drive-connected DMS repository. This feature is used i.e. in Oracle ADF to build web applications in which the user can edit documents in MS Word et al. simply by clicking the "edit-in-place" link.
    Unfortunately, we run Oracle CMSDK 9.0.4.2.X, so we have doubts about using the "Edit-in-Place" control in our environment.
    Does anybody know
    - whether it would be possible to include the Active-X-control "Edit-in-place" in our Oracle ADF applications running on AS 10.1.2.0.2
    - whether the "Edit-in-place" control would work with the Oracle CMSDK 9.0.4.2.x
    - what system requirements are generally needed for the "Edit-in-Place" control
    - whether this use would be certified and licensed appropriately
    - if the control can not be used: Is there any workaround or best practise on how to edit documents in the CMSDK repository directly from web applications?
    Many thanks in advance.
    Regards,
    Thomas

    Hi Thomas,
    we implemented a cross-browser edit-in-place solution for CM SDK 9.0.4.x. If you're interested check out inxire.com.
    Regards,
    Toni

  • Geotagging - how can I edit new places that I have previously created but with typos, errors etc?  How do I delete a place I have set up?

    Geotagging - how can I edit new places that I have previously created but with typos, errors etc?  How do I delete a place I have set up?  Then I could create a new, correct entry.  I'm using iPhoto '09.

    Is it OK to reply to my own question?? Thanks to the related posts that appeared AFTER I'd made the post above, I learnt about the 'Manage my places' item under the Windows menu. I felt a bit dumb not knowing this.
    BUT it doesn't completely resolve the issue.  The info shown in the EXIF (using opt-cmd-I) under Places has the place name I choose, but it is followed by a few other lines that are incorrect and do not seem to be anything to do with any data I can see under 'Manage my places'.
    Can anyone explain where these other entries might come from, and how to edit them?

  • ALV Editable Grid Control F4 help problem

    HI Experts,
    am facing some funny and critical problem in ALV Editable GRID,that is i used OOPS concept for ALV GRID Control output,
    in fieldcatalog i given for fields as
      wafieldcatlog-f4availabl = 'X'.
      wafieldcatlog-ref_table  = 'table'.
      wafieldcatlog-ref_field  = 'field'.
    and for seven fields i given like this .
    but in that editable if i use F4 help for the field and get that data and later save means that data is not considering and giving error message.
    So can any one please help if u confused pls reply fo any clarifications, pls help me out in this situation.
    THX

    wafieldcatlog-f4availabl = 'X'.
    wafieldcatlog-ref_table = 'table'. "should be in caps
    wafieldcatlog-ref_field = 'field'. "should be in caps.
    what error you are getting while saving..?

Maybe you are looking for

  • Hp Officejet Pro 8600 Premium suddenly printed very slowly from PC

    Hi, and thanks for any insights. I have a client with an Officejet Pro 8600 Premium, and printing to this printer over USB has suddenly become very slow.  The dedicated PC is XP with 2 GB of ram and only using 40 GB on a 200 GB drive.  The printer ha

  • Oracle Patch 10.2.0.4 error - Windows Server 2008 x64

    Hello! Could you please give your comments if you have seen errors described below? It appeared during the Oracle Patch 10.2.0.4 installation in Windows Server 2008 x64. *************installActions2010-08-06_11-02-02PM.log****************** Using par

  • Forcing user to enter values at table level

    Hi, I have created a table ztest. How to force user to enter the values for certain fields in the table which are not keys, similar to not null in RDBMS. selecting the initial values filed in SE11 populates with some default value, but it doesnt forc

  • Changing email address within Enterprise

    We will be changing our email address from fsc.edu to fitchburgstate.edu. I have been told I need to manually change this address  for all scheduled reports on the Enterprise. Is there an easier way to do this instead of going into each report? Thank

  • How to set conditions as a query in cfl?

    i have a combo box and a matrix. i have a cfl in the matrix column, once i select the particular value in the combobox the corresponding values must appear in the cfl. how can this be done?