Need to make Batch Number (CHARG) display only on MSC1N

Hi, we have a requirement to make batch number field (DFBATCH-CHARG) display only based on user authorization. I have tried implemented BADI BATCH_MASTER and tried to change the screen field property in method SINGLE_FIELD_CONTROL but batch number (CHARG) is not part of the loop for this method.
Does anybody know BADI or Screen exit for MSC1N that can make the batch number display only?
Thanks,

Hi
Although it's for older releases, see Note 562690 - BAdI BATCH_MASTER: Field selection control, perhaps it helps you
Regards
Eduardo
PD: Other thing, see that it refers to T148F and T148G. Try to add the field CHARG in customizing menu. Ask your MM consultant about implications.
Edited by: E_Hinojosa on Jul 13, 2011 9:48 AM

Similar Messages

  • In ME51N need to make Purchase Org. as mandatory only for selected one

    Dear guru's
    While creation of Purchase requisitions (ME51N), I need to make Purchase Org. as mandatory only for selected one Purchase Org. out of say 10 Purchase Orgs.
    Is there any userexit or workaround for this.
    Thanks in advance,
    With regards,
    Harisha

    Dear Harisha,
    One way is to define a transaction variant with SHD0.
    http://help.sap.com/saphelp_webas620/helpdata/en/eb/5fab41d79b11d296190000e82de14a/content.htm
    In the SAP Reference IMG, you can create transaction variants. Choose Basis Components -> Application Personalization -> Tailoring of Application Transactions -> Configure Transaction-Related Display Values for Fields (Transaction SHD0). Transaction variants allow you to preset values for fields in a transaction, set field attributes, or hide entire screens.
    To execute a transaction variant, you define a variant transaction using the Transaction Maintenance transaction (SE93).
    Once you have entered a transaction code and short description, choose transaction type Transaction with variant (Variant transaction).
    To define a variant, enter the name of the transaction and the name of the variant. You can then use the new transaction code to start the special variant of the transaction.
    or
    In IMG under
    Materials Management -> Purchasing -> Purchase Requisition -> Data Screen Layout at Document Level.
    Hope this will help.
    Regards,
    Naveen.

  • Need to make serial number in rdf

    need to make serial number column in report builder
    i tried to put rownum as column in the select statement but data wasnot fetched probably

    user513954 wrote:
    need to make serial number column in report builder
    i tried to put rownum as column in the select statement but data wasnot fetched probablyWhat do you mean by "was not fetched properly"? Why did not rownum work for you? Do you have the corresponding SQL?
    Cheers
    Sarma.

  • Make field in MIRO display only

    Hello Friends,
    When entering in invoice in MIRO in the detail tab there is field called INVOICING PARTY I need to make this field display only.  Can someone please lead me to the right direction on how I can make this field display only so no one can insert any info in this field.  Please give me the t-code or the menu path where I can make this change.  Thank you in advance for helping me out in this matter.
    Regards,
    Monika

    HI,
    Follow this path:
    IMG> MM>Invoice verification>LIV> MAintain item list variant.
    On the initial screen put te data:
    Transaction: miro
    Screen variant:0001_000_0150
    Program:SAPLFDCB
    Screen number:150.
    Press Edit with processing
    Miro screen will apprar. Put some Invoice date.
    Go to Details TAb. Put cursor in Inv Party field. & Enter.
    New screen will open up.
    In that screen, Maintain "Inv. Party" to Output Only
    Save your changes.
    or
    create transaction variant, with modified screen 0150 from program SAPLFDCB, where field Invoice party is display only. in tcode SHD0
    reward accrdingly
    Message was edited by:
            Umakant Bhangale

  • Need to make a dff field read only if it has data

    Hi,
    we added dffs to the manage sites page, i am extending the controller to do some validations of this DFF page. I need to make dff read only if it has some data. The following code is not working.
    public void processRequest(OAPageContext pageContext,OAWebBean webBean)
    super.processRequest(pageContext,webBean);
    OAApplicationModule xam = paramOAPageContext.getApplicationModule(paramOAWebBean);
    OAViewObjectImpl DffVO = (OAViewObjectImpl)xam.findViewObject("SitesFlexVO");
    OAViewRowImpl DffRow = (OAViewRowImpl)DffVO.getCurrentRow();
    if(DffRow.getAttribute("Attribute1")!= null)
    OADescriptiveFlexBean dffBean = (OADescriptiveFlexBean)webBean.findChildRecursive("Attribute1");
    dffBean.setReadOnly(true);
    can you please suggest whats wrong and give me a correct solution.
    Thanks,
    Kiran M.

    Thanks for the reply nani,
    it didnot work, i am getting the following exception.
    ## Detail 0 ##
    java.lang.NullPointerException
         at xxtjx.oracle.apps.pos.supplier.webui.XXTJXByrMngSiteDFFCO50.processRequest(XXTJXByrMngSiteDFFCO50.java:43)
    The error line 43 in my code is
    dffBean.setReadOnly(true);
    so i feel there is something wrong with this command. I kept this validation in process request and i am able to fetch attribute values in process request. so i feel there is no issue fetching the attribute value. i feel its the issue with the set command.
    Let me know if you have any other solution.
    Thanks,
    Kiran M.

  • Want to make one cell/row display only

    Hi experts,
    Please tell me how can i made only one cell or row non editable or display only in a standart tcode say cor6n.
    Thanks & Regards
    Nitin Kapoor

    Dear Muhammad Ashfaq,
    Actually as per my client requirement, they want the auto GR during confirmation. So during the confirmation through COR6N, in goods movement screen, system is purposing the 101 movement for FERT material and 261 for the BOM components. now By saving this confirmation goods receiving (101) done side by side. Now client want that in the goods movement screen when system is purposing the 101 movement for FERT material, the cell containing the quantity of FERT material should not be editable so that user cannot change  the qty. either by mistake or knowingly of fert (finidh) material.
    Hope this will clear my requirement.
    Thanks & Regards
    Nitin

  • How to print batch work orders displaying only 1 task

    Hi
    I would like to know if it possible to print in large groups only task 0010 and then print task 0020 in another batch and so on. Excluding everything else except for the designated task number.I hope this makes sense.
    Thanks in advance.

    I have just worked this out.
    I copy all the work order numbers and copy them into Z4022 (WORK ORDER MASS PROCESSING)
    Then I can sort to whatever is required.
    Highlight a specific group or type and then press the print operations button located next to the release button on the ribbon.
    Note: If task 0010 and 0020 is both highlighted together they do not print seperate.

  • I created a Custom list New Form and need to make the text fields read only

    When I use SharePoint Designer and add the read only attribute  to the  SharePoint form field, then it throws  a web part error.
    but here is the thing, I have current user Filters populating the Form Fields. So the form fields  populate First name , last name etc. and I need these fields read-only....
    the Client doesn t want the end user to Change those fields.  Is there any way to "LOCK" the form fields?
    As I have only 7 text fields that need to be locked down. and one field is a signature line that is a true input field.. where the  user has to inter their initials.
    Any ideas? as I have tried most of the items available thru searches nothing works, or it throws that web part error message.
    Steve Athey

    Daniel: ( I'm now at work, a different ID is logged on for me)
    I used SharePoint Designer.
    Steps:
     created a web part page
    then on the SharePoint Designer ribbon I then went to insert:
    new item form
    Then I selected my data source (list)
    then I placed the 8 columns on the page
    a page viewer web part to pull the manual that people have to read.
    and 7 current user filter webparts. (1 for each form field) Yes it is over kill, but I'm trying to keep this straight out of box as much as possible...
    then for the form fields
    I added a parameter and the read only tag see below in bold:
    <asp:TextBox runat="server" text="{$ParamEmployID}" id="ff17{$Pos}" __designer:bind="{ddwrt:DataBind('i',concat('ff17',$Pos),'Text','TextChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Employee_x0020_ID')}" 
    ReadOnly="True" />
    I also  added the parameters in the ribbon area
    the error message doesn't tell me much, it just send me to web part maintenance page... 
    if I removed the  ReadOnly = True then the error  goes away.....   So I was trying to find a  quick simple  JQuery and or javascript   code item that would  make  the 7 text fields readonly and leave the
    8th  text field alone  to allow people to place their initials on the page to say that they read the manual.
    I have  created hundreds of these types of pages .. this is the first time I have run into this issue, but it also the first time I have tried to use the ReadOnly = True item.
    Any Ideas  and or thought on how to make the  items read only? and not throw the error.
    Steve

  • IPad mini is not charging, displays only blank screen

    Hello!
    My mom's month-old iPad mini suddenly refused to charge. She charged it last night when the battery display claimed that the batter was down to 5%. She checked her iPad a few hours after she plugged it in for charging, and claimed that it was still working. She left it charing while she was asleep, but when she woke up this morning, the screen was blank. I tried pressing (and holding) the power button, charging it in different sockets around the house, charging it via my MBP.. and so far, no change.
    When the iPad mini was handed to me this morning, it was already blank. All I've got is really a second-hand account of what happened, so I can't offer any more detail than that. I'd appreciate it if anyone can offer some insight on what happened, or suggestions on what to do.
    And before I forget, we reside outside of the US, and it is difficult to have the unit shipped back to the US so that the guys at the Apple stores can look at it.

    Hello!
    My mom's month-old iPad mini suddenly refused to charge. She charged it last night when the battery display claimed that the batter was down to 5%. She checked her iPad a few hours after she plugged it in for charging, and claimed that it was still working. She left it charing while she was asleep, but when she woke up this morning, the screen was blank. I tried pressing (and holding) the power button, charging it in different sockets around the house, charging it via my MBP.. and so far, no change.
    When the iPad mini was handed to me this morning, it was already blank. All I've got is really a second-hand account of what happened, so I can't offer any more detail than that. I'd appreciate it if anyone can offer some insight on what happened, or suggestions on what to do.
    And before I forget, we reside outside of the US, and it is difficult to have the unit shipped back to the US so that the guys at the Apple stores can look at it.

  • Can you make some columns Read/Display Only in DataSheet view?

    I noticed on another posting what appears to be a datasheet view with 3 of the columns in a display mode. Can someone confirm if this is possible?
    Here is the original posting.
    http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomizationprevious/thread/4fa70a67-06e6-44e0-a2fe-94b1707a400a/
    Stunpals - Disclaimer: This posting is provided "AS IS" with no warranties.

    Hi Stunpals,
    This always happens on the column type Multiple Lines of Text .
    And certain columns, such as Created By and Modified, are always read-only. Values for these columns are entered automatically.
    When you open the list in datasheet, click on one the column, if it’s read only, you will see read only in right bottom corner.
    For more information, see
    http://devblog.bardoloi.com/2012/08/sharepoint-2010-datasheet-view-selected.html
    Best Regards.
    Kelly Chen
    TechNet Community Support

  • Need to make large number of items inactive - Inventory

    Hi,
    Is there an api or something I can use to make a large number of items inactive in Inventory?
    Thanks
    Roald

    1. First create a status that makes the ietm as inactive (or use inactive status).
    2. For one item, you can go to item screen and tools-->pending status
    3. Enter the date and status (inactive). From when you want this item to be status to be implmented.
    4. Run Update item statuses with pending statuses in that organization.
    You can use dataloader for a lot of items (www.dataload.net)
    If you think it is too much, you can take a look at which columns are populated from the screen and populate the same in the table (there is no API).
    Run the program and all the items selected should be item inactivated.
    Thanks
    Nagamohan

  • Make fields 'Display only'

    Hi
    I have default u2018dep key u2018  &  u2018useful life u2018 in the system. Now I need to make these 2 fields 'display only' in master data.  How can I do it?
    Thanks
    Ava

    Hi
    In AO21 you may not have 'Display' option, but you remove the check under 'Mn No' for these two fields. then they would be only in display at master level. Since we tell the system that maintenance would only be at asset class level
    Thank You,

  • ME22N - Make fields display only.

    Hi gurus,
    I have the following requirement I don`t know how to solve so well...
    We´ve created a new purchase order type and we need a little special behaviour for it.
    At creation (ME21N) all fields must be ready for input, in the same way that the other PO types.
    However, in modification (ME22N) we need some fields unavaible for input, just display.
    This fields are: Payment Terms (At header level) and Delivery Date (At Position level).
    I've trying some user-exits, but I havent found the way to implement this behaviour.
    Because of that, I`ve trying to let the fields available for input in ME22N and check values at save, showing a message in case of changes. Could anybody recommend me which user-exit use for this verifications?
    Once again, a lot of thanks!

    Hi Ole,
    Did you tried screen variants.Please check this lik want to make few fields as display only in ME21N Check this and tell if need more hlep in this.
    Regards,
    Madhu.

  • Make Scrap portion field in production order header as display only

    Hi Experts,
    We have a requirement to make scrap field(CAUFVD-GASMG) in production order header as display field only. We do not want users to enter any values here to denote the quantity scrapped in production orders. I am not aware of any configuration to make this field as display only. Please let me know which user exit or BADI available for this purpose. We do not want to use any screen variants and transaction variants and would like to restrict this at order type or plant level.
    Thanks
    Rijil

    Hello Rijil,
    If not with variants than check with enhancement.
    PPCO0006  Enhancement to specify defaults for fields in order head
    PPCO0012  Production Order: Display/Change Order Header Data
    PPCO0018  Check for changes to production order header
    Regards,

  • Display only cell in ALV Grid in OO

    Hi Folks,
    Hope someone can help me with this little issue.  I have a series of columns in my ALV grid that are editable, but I need to a) make some of the cells on specific lines uneditable and b) display time based fields on this line as blank (presently they shoe 00:00:00). 
    For problem a) I have set the layout style frame as 'cellstyles' 
        es_layout-stylefname = 'CELLSTYLES'.
    I have also set the edit flag in the field catalog for the individual columns to 'X' eg     
         WHEN 'CUSTTS_DATE_N'.
              ls_fieldcat-edit = 'X'.
    And coded:
           gwa_stylerow-fieldname = 'CUSTTS_DATE_N'.
          gwa_stylerow-style = cl_gui_alv_grid=>mc_style_disabled.
          APPEND gwa_stylerow TO gt_stylerow.
          wa_delivery_list-cellstyle[] = gt_stylerow[].
          APPEND wa_delivery_list TO it_delivery_list.
    Yet, the ALV cells are still being displayed as editable.  Can't for the life of me figure out what's missing.  The only other thought I had around this is that the wa_delivery_list-cellstyle table is being set in the data extraction code, before the ALV grid is built, and that the cell formats are being overwritten/on not being called by the field catalog entries.  Any thoughts on how to make these fields/cells display only when the ALV is first displayed would be greatly appreciated.
    As for option b) I'm clueless, as the cell style commands are not being picked up (see problem a.).  Again any thoughts would be appreciated, and points will be rewarded for solutions/suggestions that lead to solutions.
    Cheers,
    Stephen Keam

    Hello Stephen
    I have created a simple report ZUS_SDN_ALV_EDITABLE_1B which shows how to use editability on cell level.
    The crucial parts of the coding for your requirements are shown below, followed by the entire report.
      READ TABLE gt_fcat INTO ls_fcat
           WITH KEY fieldname = 'UPTIM'.
      IF ( syst-subrc = 0 ).
        DELETE gt_fcat INDEX syst-tabix.
        ls_fcat-no_zero = abap_true.  " suppresses 00:00:00
        INSERT ls_fcat INTO gt_fcat INDEX 7.
      ENDIF.
    *&      Form  SET_CELL_EDITABLE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM set_cell_editable .
    * define local data
      DATA: ld_idx      TYPE i,
            ls_outtab   TYPE ty_s_outtab,
            ls_style    TYPE lvc_s_styl.
      LOOP AT gt_outtab INTO ls_outtab.
        ld_idx = syst-tabix.
        REFRESH: ls_outtab-celltab.
        " NOTE: if you change the year of column ERDAT to 2008 then two columns will become non-editable
        IF ( ls_outtab-erdat+0(4) = '2008' ).
          CLEAR: ls_style.
          ls_style-fieldname = 'UPDAT'.
          ls_style-style     = cl_gui_alv_grid=>mc_style_disabled.
          INSERT ls_style INTO TABLE ls_outtab-celltab.
          CLEAR: ls_style.
          ls_style-fieldname = 'UPTIM'.
          ls_style-style     = cl_gui_alv_grid=>mc_style_disabled.
          INSERT ls_style INTO TABLE ls_outtab-celltab.
        ELSE.
        ENDIF.
        MODIFY gt_outtab FROM ls_outtab INDEX ld_idx
          TRANSPORTING celltab.
      ENDLOOP.
    ENDFORM.                    " SET_CELL_EDITABLE
    *& Report  ZUS_SDN_ALV_EDITABLE
    *& Thread: Display only cell in ALV Grid in OO
    *& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="765083"></a>
    * Flow logic of screen '100' (no elements, ok-code => gd_okcode ):
    **PROCESS BEFORE OUTPUT.
    **  MODULE STATUS_0100.
    **PROCESS AFTER INPUT.
    **  MODULE USER_COMMAND_0100.
    *& GUI-Status: ok-codes BACK, EXIT, CANC
    REPORT  zus_sdn_alv_editable_1b.
    TYPE-POOLS: abap.
    CONSTANTS:
      gc_tabname       TYPE tabname  VALUE 'KNB1'.
    TYPES: BEGIN OF ty_s_outtab.
    INCLUDE TYPE knb1 AS knb1.
    TYPES: celltab    TYPE lvc_t_styl.
    TYPES: END OF ty_s_outtab.
    TYPES: ty_t_outtab    TYPE STANDARD TABLE OF ty_s_outtab
                          WITH DEFAULT KEY.
    DATA:
      gd_okcode        TYPE ui_func,
      gd_repid         TYPE syst-repid,
      gt_fcat          TYPE lvc_t_fcat,
      gs_layout        TYPE lvc_s_layo,
      gs_variant       TYPE disvariant,
      go_docking       TYPE REF TO cl_gui_docking_container,
      go_grid          TYPE REF TO cl_gui_alv_grid.
    DATA:
      gs_outtab        TYPE ty_s_outtab,
      gt_outtab        TYPE ty_t_outtab,
      gt_outtab_pbo    TYPE ty_t_outtab.
    DATA:
      gd_answer        TYPE c.
    *       CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler  DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
          handle_data_changed
             FOR EVENT data_changed OF cl_gui_alv_grid
                 IMPORTING er_data_changed.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
    *       CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_data_changed.
        " Just trigger PAI followed by PBO
        CALL METHOD cl_gui_cfw=>set_new_ok_code
          EXPORTING
            new_code = 'REFRESH'
    *        IMPORTING
    *          rc       =
      ENDMETHOD.                    "handle_data_changed
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    START-OF-SELECTION.
      SELECT * FROM  (gc_tabname) INTO CORRESPONDING FIELDS
                                  OF TABLE gt_outtab UP TO 99 ROWS.
      gt_outtab_pbo = gt_outtab.  " set PBO data
      PERFORM init_controls.
    * ok-code field = GD_OKCODE
      CALL SCREEN '0100'.
    END-OF-SELECTION.
    *&      Form  INIT_CONTROLS
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM init_controls .
    * Create docking container
      CREATE OBJECT go_docking
        EXPORTING
          parent = cl_gui_container=>screen0
          ratio  = 90
        EXCEPTIONS
          OTHERS = 6.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Create ALV grid
      CREATE OBJECT go_grid
        EXPORTING
          i_parent = go_docking
        EXCEPTIONS
          OTHERS   = 5.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      " NOTE: not required
    *  set handler:
    *    lcl_eventhandler=>handle_data_changed for go_grid.
    * Build fieldcatalog and set hotspot for field KUNNR
      PERFORM build_fieldcatalog.
      PERFORM set_layout_and_variant.
      PERFORM set_cell_editable.
    *§3.Optionally register ENTER to raise event DATA_CHANGED.
    *   (Per default the user may check data by using the check icon).
      CALL METHOD go_grid->register_edit_event
        EXPORTING
          i_event_id = cl_gui_alv_grid=>mc_evt_enter.
      SET HANDLER: lcl_eventhandler=>handle_data_changed FOR go_grid.
    * Display data
      CALL METHOD go_grid->set_table_for_first_display
        EXPORTING
          is_layout       = gs_layout
          is_variant      = gs_variant
          i_save          = 'A'
        CHANGING
          it_outtab       = gt_outtab
          it_fieldcatalog = gt_fcat
        EXCEPTIONS
          OTHERS          = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * NOTE:
    * Documenation of I_SAVE ("An Easy Reference for ALV Grid Control")
    *I_SAVE
    *Determines the options available to the user for saving a layout:
    *? 'X': global saving only
    *? 'U': user-specific saving only
    *? 'A': corresponds to 'X' and 'U'
    *? SPACE: no saving
    * Link the docking container to the target dynpro
      gd_repid = syst-repid.
      CALL METHOD go_docking->link
        EXPORTING
          repid                       = gd_repid
          dynnr                       = '0100'
    *      CONTAINER                   =
        EXCEPTIONS
          OTHERS                      = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " INIT_CONTROLS
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'STATUS_0100'.
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      " NOTE: retrieve changed data from frontend (grid control) into
      "       the backend (itab in ABAP)
      go_grid->check_changed_data( ).
      CASE gd_okcode.
        WHEN 'BACK'  OR
             'EXIT'  OR
             'CANC'.
          SET SCREEN 0. LEAVE SCREEN.
        WHEN 'REFRESH'.
          PERFORM set_cell_editable.
          " NOTE: Refresh required
          CALL METHOD go_grid->refresh_table_display
    *        EXPORTING
    *          is_stable      =
    *          i_soft_refresh =
    *        EXCEPTIONS
    *          finished       = 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.
        WHEN 'SAVE'.
          IF ( gt_outtab = gt_outtab_pbo ).
            MESSAGE 'No data changed' TYPE 'S'.
          ELSE.
            CLEAR: gd_answer.
            CALL FUNCTION 'POPUP_TO_CONFIRM'
              EXPORTING
    *             TITLEBAR                    = ' '
    *             DIAGNOSE_OBJECT             = ' '
                text_question               = 'Save data?'
    *             TEXT_BUTTON_1               = 'Ja'(001)
    *             ICON_BUTTON_1               = ' '
    *             TEXT_BUTTON_2               = 'Nein'(002)
    *             ICON_BUTTON_2               = ' '
    *             DEFAULT_BUTTON              = '1'
    *             DISPLAY_CANCEL_BUTTON       = 'X'
    *             USERDEFINED_F1_HELP         = ' '
    *             START_COLUMN                = 25
    *             START_ROW                   = 6
    *             POPUP_TYPE                  =
    *             IV_QUICKINFO_BUTTON_1       = ' '
    *             IV_QUICKINFO_BUTTON_2       = ' '
              IMPORTING
                answer                      = gd_answer
    *           TABLES
    *             PARAMETER                   =
              EXCEPTIONS
                text_not_found              = 1
                OTHERS                      = 2.
            IF sy-subrc <> 0.
    *       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ENDIF.
            IF ( gd_answer = '1' ).  " yes
              MESSAGE 'Data successfully saved' TYPE 'S'.
              gt_outtab_pbo = gt_outtab.  " update PBO data !!!
            ELSE.
              MESSAGE 'Action cancelled by user'  TYPE 'S'.
            ENDIF.
          ENDIF.
        WHEN OTHERS.
      ENDCASE.
      CLEAR: gd_okcode.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  BUILD_FIELDCATALOG
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM build_fieldcatalog .
    * define local data
      DATA:
        ls_fcat        TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
    *     I_BUFFER_ACTIVE              =
          i_structure_name             = gc_tabname
    *     I_CLIENT_NEVER_DISPLAY       = 'X'
    *     I_BYPASSING_BUFFER           =
    *     I_INTERNAL_TABNAME           =
        CHANGING
          ct_fieldcat                  = gt_fcat
        EXCEPTIONS
          inconsistent_interface       = 1
          program_error                = 2
          OTHERS                       = 3.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      ls_fcat-edit = abap_true.
      MODIFY gt_fcat FROM ls_fcat
          TRANSPORTING edit
        WHERE ( key NE abap_true ).
      READ TABLE gt_fcat INTO ls_fcat
           WITH KEY fieldname = 'UPTIM'.
      IF ( syst-subrc = 0 ).
        DELETE gt_fcat INDEX syst-tabix.
        ls_fcat-no_zero = abap_true.  " suppresses 00:00:00
        INSERT ls_fcat INTO gt_fcat INDEX 7.
      ENDIF.
      READ TABLE gt_fcat INTO ls_fcat
       WITH KEY fieldname = 'UPDAT'.
      IF ( syst-subrc = 0 ).
        DELETE gt_fcat INDEX syst-tabix.
        INSERT ls_fcat INTO gt_fcat INDEX 7.
      ENDIF.
      LOOP AT gt_fcat INTO ls_fcat.
        ls_fcat-col_pos = syst-tabix.
        MODIFY gt_fcat FROM ls_fcat INDEX syst-tabix.
        IF ( syst-tabix > 10 ).
          DELETE gt_fcat INDEX syst-tabix.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " BUILD_FIELDCATALOG
    *&      Form  SET_LAYOUT_AND_VARIANT
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM set_layout_and_variant .
      CLEAR: gs_layout,
             gs_variant.
      gs_layout-cwidth_opt = abap_true.
      gs_layout-zebra      = abap_true.
    *§3.Provide the fieldname of the celltab field by using field
    *   STYLEFNAME of the layout structure.
      gs_layout-stylefname = 'CELLTAB'.
      gs_variant-report = syst-repid.
      gs_variant-handle = 'GRID'.
    ENDFORM.                    " SET_LAYOUT_AND_VARIANT
    *&      Form  SET_CELL_EDITABLE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM set_cell_editable .
    * define local data
      DATA: ld_idx      TYPE i,
            ls_outtab   TYPE ty_s_outtab,
            ls_style    TYPE lvc_s_styl.
      LOOP AT gt_outtab INTO ls_outtab.
        ld_idx = syst-tabix.
        REFRESH: ls_outtab-celltab.
        IF ( ls_outtab-erdat+0(4) = '2008' ).
          CLEAR: ls_style.
          ls_style-fieldname = 'UPDAT'.
          ls_style-style     = cl_gui_alv_grid=>mc_style_disabled.
          INSERT ls_style INTO TABLE ls_outtab-celltab.
          CLEAR: ls_style.
          ls_style-fieldname = 'UPTIM'.
          ls_style-style     = cl_gui_alv_grid=>mc_style_disabled.
          INSERT ls_style INTO TABLE ls_outtab-celltab.
        ELSE.
        ENDIF.
        MODIFY gt_outtab FROM ls_outtab INDEX ld_idx
          TRANSPORTING celltab.
      ENDLOOP.
    ENDFORM.                    " SET_CELL_EDITABLE
    Regards
      Uwe

Maybe you are looking for