Table control : Need to change Single field as non editable

Hi Experts,
                Plz help me out. In a table control there r 7 fields and only one field is editable. When i change the status of a record as delete in tat table control, only the deleted record (all fields)should become non-editable. Is it possible? Pls suggest.
Regards,
J. Sriram.

Hi,
In PBO of your screen
you should be using a step loop like this :
CONTROLS control1 TYPE TABLEVIEW USING SCREEN 100.
LOOP AT itab WITH CONTROL control1.
ENDLOOP.
Where the control1 is the tableview control defined in your program
and placed on your screen.
Put a second loop on screen inside this loop ant set the related attribute :
LOOP AT itab WITH CONTROL control1.
LOOP AT SCREEN.
IF SCREEN-NAME = 'COLUMN1'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDLOOP.
So you can set cells editable or non-editable
and you can filter it which record & which field..

Similar Messages

  • Need to do one field as non editable once a document is moved to 'executed' phase.

    Hi All,
    I have a field called 'comment' in Contract document. And once the document is moved to Executed phase all the fileds becomes non editable. And since 'Comment' is free text my user wants to do it as editable even when the document is in executed phase.The phases include
    1.Draft
    2.Budget Owner Approval
    3.Financial Approval
    4.Procurement Approval
    5.Approved
    6.Digital Signature
    7.Executed
    I tried this both in post phase script as well as pre phase script and found it's not working. Please suggest your ideas. Is there any other place I need to add code.
    Postphase
    if (phase.equals("Executed"))
    logMsg.setLogMessage(" Executed START ");
    Logger.info(logMsg);
    //Changes done by me
    comments = doc.getExtensionField("NON_DIGSIG_COMMENT").get();
    logMsg.setLogMessage(" Comments are " + comments);
    Logger.info(logMsg);
    IapiDocumentLockManager.unlockField(session,doc,"NON_DIGSIG_COMMENT");
    //Changes ended
    parent = doc.getParentIBean();
    if (hasValue(parent))
    // get associated vlv value for phase
    ValueListValueIBeanHomeIfc vlvHome = IBeanHomeLocator.lookup(session, ValueListValueIBeanHomeIfc.sHOME_NAME);
    if (classinfo == 1004)
    {// parent is Master Agreement
    vlvBean = vlvHome.findUniqueByNameType("Executed Agreement",10);
    } // end if classinfo == 1004
    else
    vlvBean = vlvHome.findUniqueByNameType("Executed Agreement",1);
    } // end else
    if (hasValue(vlvBean))
    vlvLocalizedRef = vlvBean.getLocalizedObjectReference();
    // set parent status
    parObjRef = doc.getParentIBean().getObjectReference();
    parentHome = IBeanHomeLocator.lookup(session, parObjRef);
    parentHome.upgradeToEdit(doc.getParentIBean());
    doc.getParentIBean().setStatusRef(vlvLocalizedRef);
    logMsg.setLogMessage(" Parent Status updated to " + vlvLocalizedRef.getDisplayName() + " ");
    Logger.info(logMsg);
    parentHome.save(doc.getParentIBean());
    logMsg.setLogMessage(" Parent saved ");
    Logger.info(logMsg);
    } // end if hasValue(parent)
    logMsg.setLogMessage(" Executive Summary Approval END ");
    Logger.info(logMsg);
    Prephase
    if (hasValue(other_phase) && hasValue(phase) && phase.equals("Approved") && other_phase.equals("Executed"))
            logMsg.setLogMessage("Entering comment block");
            Logger.info(logMsg);
            //Changes by Lakshmi
            comments = doc.getExtensionField("NON_DIGSIG_COMMENT").get();
        logMsg.setLogMessage(" Comments are " + comments);
        Logger.info(logMsg);
        IapiDocumentLockManager.unlockField(session, doc, "NON_DIGSIG_COMMENT");
            if (!bypassCheck)
            ae.chainAtEnd(doc.createApplicationException("NON_DIGSIG", "zclm.contractdocument.advancetoexecutedfromapproved"));
        } // end if (hasValue(other_phase) && hasValue(phase) && phase.equals("Approved") && other_phase.equals("Executed"))
    //Block added my me
        if (hasValue(other_phase) && hasValue(phase) && phase.equals("Digital Signature") && other_phase.equals("Executed"))
            logMsg.setLogMessage("Entering comment block");
            Logger.info(logMsg);
            comments = doc.getExtensionField("NON_DIGSIG_COMMENT").get();
        logMsg.setLogMessage(" Comments are " + comments);
        Logger.info(logMsg);
        IapiDocumentLockManager.unlockField(session, doc, "NON_DIGSIG_COMMENT");

    I agree with the definition of a position - that it's an occurrence of a job in an Organization. And I also couldn't agree with you more: that defintion shouldn't preclude you from moving the position around the company with re-orgs etc.
    Sadly that's a limitation of Oracle HRMS and there is no way to change the Organization of a position. You'll just have to streamline your processes to clone positions instead. Here, Position Copy is your friend:
    *HRMS Manager > Work Structures > Position > Position Copy
    There are also other tools that may help. Check out:
    Need To Change the Organization Associated with a Position [ID 375483.1]
    Does that help?

  • TABLE CONTROL LINES COLOR CHANGE

    <i>Hi Friens.,
    I need small help ie.,
    Let us assume we have table control like this.,
    col1 |  col2  |  group |
    a1   |   b1   |  1
    a2   |   b2   |  1
    a3   |   b3   |  2
    a4   |   b4   |  2
    a5   |   b5   |  3
    a6   |   b6   |  3
    1) User need differentiation between groups to look and feel.,thats why I want to change the Line colors based on Group.,
    2) I am getting this one .,but I made case on Sy-stepl.,  while scrolling it is not showing correct .,
    3) Is there any good way to do this., like in ME21   CONDITIONS TAB at Item level</i>
    If any body have Idea., share with me.,
    <b>Thanks.,</b>
    <i><b>Surendher Reddy.Baddam</b></i>

    Re: TABLE CONTROL LINES COLOR CHANGE
    Posted: Nov 5, 2004 6:47 AM        Reply      E-mail this post 
    PBO >>>like thise.,
    LOOP AT itab WITH CONTROL tc4_400 CURSOR tc4_400-current_line.
    MODULE check_rej_hld_400.
    MODULE radio_checkbox_400.
    ENDLOOP.
    >>>
    MODULE radio_checkbox_400.
    DATA : l_stf TYPE i.
    DATA : l_hyd TYPE i,l_knr TYPE i.
    l_hyd = 1.
    LOOP AT SCREEN.
    IF screen-name = 'ITAB-BATCHNO'.
    IF itab-group = l_hyd. " this is group
    screen-intensified = 1.
    MODIFY SCREEN.
    ELSEIF
    screen-intensified = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDIF.
    ENDLOOP.
    ADD 2 TO l_hyd
    ENDMODULE.
    I made logic like this.,
    Thanks.,
    Surendher Reddy.Baddam

  • How to delete the row in table control with respect to one field in module pool programming?

    Hi,
    Can I know the way to delete the row in table control with respect to one field in module pool programming
    Regards
    Darshan MS

    HI,
    I want to delete the row after the display of table control. I have created push button as delete row. If I click on this push button, the selected row should get deleted.
    I have written this code,
    module USER_COMMAND_9000 input.
    DATA OK_CODE TYPE SY-UCOMM.
    OK_CODE = SY-UCOMM.
    CASE OK_CODE.
         WHEN 'DELETE'.
            LOOP AT lt_source INTO ls_source WHERE mark = 'X'.
                APPEND LS_SOURCE TO LT_RESTORE.
                DELETE TABLE LT_SOURCE FROM LS_SOURCE.
                SOURCE-LINES = SOURCE-LINES - 1.
            ENDLOOP.
    But I'm unable to delete the selected rows, It is getting deleted the last rows eventhough I select the other row.
    So I thought of doing with respect to the field.

  • I am creating a web form from a template and I need to change a field. It is just a text field at the moment but I need to change it to a field that the customer can fill in. How do I do this?

    I am creating a web form from a template and I need to change a field. It is just a text field at the moment but I need to change it to a field that the customer can fill in. How do I do this?

    See this thread:
    http://answers.acrobatusers.com/Is-add-instructional-text-text-field-disappear-clicked-q19 5078.aspx

  • How to made Qty field as non editable in MIRO

    Hi SAP Gurus,
    While Post a Goods Receipt (MIRO) for Receive the Material from Job
    Worker, the Qty of Raw Material which needs to Issue or consume from
    Stock will propose as per PO BOM. The Qty field of Raw Material is in
    Editable Mode. Business wants that Qty Field to be Non-editable and not
    to allow user to Change the Proposed Qty. As per PO BOM and based on
    Material Received from Job Worker, Raw Material has to Issue or Consume
    from Stock. If any Under Consumption or Over Consumption will be
    adjusted thru MB04.
    Pls let me know is there any setting to make Raw Material Qty field as
    non editable.
    Thanks & Regards
    Sathish
    Ph:9940518715

    Hi,
    There is no field selection in MIRO.
    USE SHD0 and create a screen variant
    Thanks & regards,
    Kiran

  • How to make a field in non Editable mode

    Hi All:
    Now i created one form through wizard method this consists of following details
    Table name:T1
    Fields:No,Name
    here my requirement is how to make this "No" field in non editable mode after the insertion of the first record.

    You can make it a display item, you can disable the item, or you can set the update property to No. See the set_item_property in the Help documentation.

  • Disabling fields(Make the field as non-editable)  in webdynpro ALV

    HI All,
    I have a requirement in the ABAP webdynpro where I have to disable(Make the field as non-editable) the field(or that ALV cell alone)  in the ALV after the user has inputed in that field.
    Is it possible, if yes, could you please give me some sample code , or links to which I can refer to.
    Thanks for your help.
    Regards,
    Subash M

    Hi,
    Use the following approach :
    1. Create an ALV and create an inputfield cell editor for the column that you want to make editable/disable.Refer this tutorial for creating an [Editable ALV|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3133474a-0801-0010-d692-81827814a5a1]
    2. Now under the same node create an attribute EDITABLE type boolean and bind this to the readonly property of the input field. Include the following code while creating Input field for binding.
    lr_input_field->set_read_only_fieldname( 'EDITABLE' ).
    3. Now implement the onDataCheck event or OnCellAction event and pass abap_true to this attibute to make the cell readonly/disable.Refer this tutorial for [Events in ALV|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/bd28494a-0801-0010-45a3-fc359d82d3e8]
    Hope this helps.
    Regards,
    Radhika.

  • How to handle table control in PO change

    Hi All,
    R/3 is sending PO details and Vendor is using third party front end to access the PO.He has changed the PO and these changes need to be reflected in the PO. Data is coming from external sytem to R/3 through IDOC. I need to handle the changes in the PO at the ITEM level. It has the table control. I don't know about table control. Kindly help me inorder to update the PO for a particular tab in PO item(ME22N).
    I have checked the process code : ORDH and FM: MPN30_IDOC_INPUT_ORDCAD
    Regards
    Kannaiah
    Rewards for helpful answers

    Hi Ravikanth,
    Thanks for the reply.
    I checked the PO item for the fields which need to be updated. I am unable to find some fields in the FM which i had mentioned. Shall I need to use any Userexit or include for this. If yes, can you tell me the user exit for this. I have checked the following exits: AMPL0001 
    LMEDR001 
    LMELA002 
    LMELA010 
    LMEQR001 
    LMEXF001 
    LWSUS001 
    M06B0001 
    M06B0002 
    M06B0003 
    M06B0004 
    M06B0005 
    M06E0004 
    M06E0005 
    ME590001 
    MEETA001 
    MEFLD004 
    MELAB001 
    MEQUERY1 
    MEVME001 
    MM06E001 
    MM06E003 
    MM06E004 
    MM06E005 
    MM06E007 
    MM06E008 
    MM06E009 
    MM06E010 
    MMAL0001 
    MMAL0002 
    MMAL0003 
    MMDA0001
    MMFAB001
    MRFLB001

  • Search Help on Table Control - Fill more than one field in the table?

    Hey everyone,
    I have built a screen with a Table Control on it... the fields of the table control are linked to an internal table...  The internal table has the line type of a structure I've defined in the data dictionary.  Within that structure in the data dictionary, I've linked some fields to search helps (For example, a MATNR and CUSTOMER search help)...  I've defined in the structure definition which fields from the search help are to be returned to which fields in the structure.
    The problem is, even though I have the search help set to export both the customer number and location when using the search help on the customer field, it still does not fill the location field within the table.  Is this a limitation of using search helps within table controls?
    I'm also finding that by defining the search help through the structure, instead of directly within the screen, the search help round button does not show up on the field, yet I can still press F4 to bring up the search help.  Is there a reason why it's not showing the search help clickable button even though it works fine using F4?
    For doing search helps in Table Controls, is it better to just build the search help, attach it directly to the field in the table, and then after the user picks the single field, use the PAI to run a select and fill the rest of the fields required?
    Thanks,
    Dallas

    Hi Dallas,
    (1)
    What  i understood is that you added a search help by defining it in the internal table type for a field customer number..in the search help you have 2 fields customer number and location...user press the search help ..then you need to fill 2 different fields or 1 field?
    if you need to fill the customer location or location (only one) then you need to set the "import" in the search help for whichever is required.....
    if you need to fill 2 or more different fields..then you can use the technique you have mentioned last , to do a select in PAI and fill the fields....but this you can use if the combination for the fields is unique...eg: u have customer number and location..if customer X can be mapped to location X and location Y..when a select statement is done there are 2 options..so in such cases it is better to leave the option to the user otherwise if there is a clear mapping like customer X can be mapped only to location X then you can use the select..
    (2)
    usually when you define it as a type in the internal table the icon doesn't show up..but you can do alternative like mentioned..go to the table,find the search help for the required field if present or create a new one if required and place the search help mentioned in the screen itself..so as to see the icon...sometimes users are adamant that they need the search help icon to be seen..so it depends on if your user
    (3)
    as in the example of customer number and location mentioned we can provide them different search helps and do the needful processing in PAI to fill the fields
    Table controls may be used for different purposes and requirements....even a checkbox,push button can be placed as a field in table control and used,but yes most of the time requirements are like what is mentioned in your case...
    Regards
    Byju

  • Cursor positioning in table control: marking content of a field

    Hello everybody,
    I use a table-control for data input. For fast data input, my customers need dynamic positioning of the cursor. I'm using the set cursor field ... line ... statement and it works fine, except for one problem with a large text-field:
    Is it possible to set the cursor in a field plus mark all the content of the field? The behaviour, i'm looking for is that any input in the field will replace the existing content. Is there any other option?
    Thank you for any suggestions, regards, Kathrin!

    So you want dynamic cursor positioning within a table control. Take a look at FM SCROLLING_IN_TABLE and demo program DEMO_DYNPRO_TABCONT_LOOP. If this does not address your requirements the you can do it manually as follows:
    For example, your internal table has 30 rows, your table control displays 10 rows (value of sy-loopc) at one time. The value of <tabctrl>-top_line contains 11, meaning you are at the second page of table control. Your cursor is at 12th row and now on pressing ENTER, you want the cursor to be positioned at 13th row.
    In your PAI, issue the statement GET CURSOR LINE <lineno>. This will give you the current cursor position in the table control with reference to the top row currently displayed. So the value of <linno> will be 2.
    In your PBO, calculate the next line no to position your cursor into. This can be done by the formula:
      next_line = <tabctrl>-TOP_LINE + <linno> - 1.
    Then issue the statement SET CURSOR FIELD <field_name> LINE <next_line>.
    Hope this helps.
    Regards
    Message was edited by: Shehryar Khan

  • How to display particular ROW of a table control in display/change mode

    Hi,
    Can we make particular ROW in a table control display mode or editable mode depending upon the conditions?.
    Any inputs..
    Rgds,
    Lakshmiraj

    Hi,
    Yes it is possible. check the follwoing code for help.
    *&  Include           Z101954_ASSIGNMENT1I01
    *&      Module  VALIDATE_SALES_ORG  INPUT
          text
    MODULE validate_sales_org INPUT.
    SELECT SINGLE zvkorg FROM vbak INTO zvbak-zvkorg
    *WHERE zvbeln = zbookhdr-zvbeln.
    IF sy-subrc <> 0.
       MESSAGE 'INVALID AIRLINE ID INPUT' TYPE 'I'.
       CALL SCREEN 1000.
    ENDIF.
    ENDMODULE.                 " VALIDATE_SALES_ORG  INPUT
    *&      Module  USER_COMMAND_1001  INPUT
          text
    MODULE user_command_1001 INPUT.
      var3 = 1.
      IF sy-ucomm <> 'SAVE'.
        PERFORM material_check.
        IF sy-subrc <> 0.
          MESSAGE 'ENTER THE CORRECT MATERIAL NUMBER' TYPE 'I'.
        ELSE.
          SELECT SINGLE zmaktx zmeins zwaerk zstprs FROM zmara
            INTO CORRESPONDING FIELDS OF it_salesitems
             WHERE zmatnr = it_salesitems-zmatnr.
          SELECT SINGLE zwerks zlgort FROM zorg
            INTO CORRESPONDING FIELDS OF it_salesitems
            WHERE zvkorg = wa_salesorder-zvkorg
             AND zvtweg = wa_salesorder-zvtweg
             AND zspart = wa_salesorder-zspart.
          it_salesitems-znetwr = it_salesitems-zstprs * it_salesitems-zbrgew.
         MODIFY it_salesitems FROM it_salesitems  INDEX sy-tabix.
          MOVE-CORRESPONDING it_salesitems TO temp_salesitems.
          APPEND temp_salesitems.
          REFRESH it_salesitems.
        ENDIF.
      ENDIF.
    LOOP AT temp_salesitems.
      if it_salesitems-pick = 'X'.
               LOOP AT SCREEN.
             IF screen-name EQ 'DETAIL'.
               screen-input = 1.
               MODIFY SCREEN.
             ENDIF.
           ENDLOOP.
           endif.
           endloop.
      CASE sy-ucomm.
        WHEN 'SAVE'.
          PERFORM check_ship_to_party.
          IF sy-subrc <> 0.
            MESSAGE 'ENTER THE CORRECT SHIP TO PARTY ' TYPE 'I'.
          ELSE.
            PERFORM check_payer.
            IF sy-subrc <> 0.
              MESSAGE 'ENTER THE CORRECT PAYER' TYPE 'I'.
            ELSE.
              PERFORM check_bill_to_party.
              IF sy-subrc <> 0.
                MESSAGE 'ENTER THE CORRECT BILL TO PARTY' TYPE 'I'.
              ELSE.
                wa_salesorder-zernam = sy-uname.
                MOVE-CORRESPONDING wa_salesorder TO zvbak.
                MODIFY zvbak.
                LOOP AT it_salesitems.
                  it_salesitems-zvbeln = wa_salesorder-zvbeln.
                  MOVE-CORRESPONDING it_salesitems TO zvbap.
                  MODIFY zvbap.
                ENDLOOP.
                IF sy-subrc = 0.
                  MESSAGE 'THE DATA IS SAVED SUCCESSFULLY' TYPE 'I'.
                  CLEAR wa_salesorder.
                  REFRESH it_salesitems.
                  REFRESH temp_salesitems.
                  IF sy-tcode = 'ZVA01'.
                    CALL SCREEN '1000'.
                  ELSE.
                    CALL SCREEN '1003'.
                  ENDIF.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDIF.
        WHEN 'DETAIL'.
          CALL SCREEN '1002'.
        WHEN 'BACK'.
          IF sy-tcode = 'ZVA03'.
            CLEAR wa_salesorder.
            CALL SCREEN '1003'.
          ELSE.
            PERFORM pop_up.
          ENDIF.
        WHEN 'EXIT'.
          IF sy-tcode = 'ZVA03'.
            LEAVE PROGRAM.
          ELSE.
            PERFORM pop_up.
          ENDIF.
        WHEN 'CANCEL'.
          IF sy-tcode = 'ZVA03'.
            CLEAR wa_salesorder.
            CALL SCREEN '1003'.
          ELSE.
            PERFORM pop_up.
          ENDIF.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_1001  INPUT
    *&      Module  input_help_sold_to_party  INPUT
          text
    MODULE input_help_sold_to_party INPUT.
      SELECT zkunag FROM zvbak INTO CORRESPONDING FIELDS OF TABLE
        itab.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
      DDIC_STRUCTURE         = ' '
          retfield               = 'ZKUNAG'
      PVALKEY                = ' '
         dynpprog               = sy-cprog
         dynpnr                 = '1000'
         dynprofield            = 'ZKUNAG'
      STEPL                  = 0
      WINDOW_TITLE           =
      VALUE                  = ' '
         value_org              = 'S'
      MULTIPLE_CHOICE        = ' '
      DISPLAY                = ' '
      CALLBACK_PROGRAM       = ' '
      CALLBACK_FORM          = ' '
      MARK_TAB               =
    IMPORTING
      USER_RESET             =
        TABLES
          value_tab              = itab
      FIELD_TAB              =
      RETURN_TAB             =
      DYNPFLD_MAPPING        =
    EXCEPTIONS
      PARAMETER_ERROR        = 1
      NO_VALUES_FOUND        = 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.
    ENDMODULE.                 " input_help_sold_to_party  INPUT
    *&      Form  pop_up
          text
    -->  p1        text
    <--  p2        text
    FORM pop_up .
      CALL FUNCTION 'POPUP_TO_CONFIRM'
        EXPORTING
      TITLEBAR                    = ' '
      DIAGNOSE_OBJECT             = ' '
          text_question               = 'DO YOU WANT TO SAVE THE ORDER?'
         text_button_1               = 'YES'(001)
         icon_button_1               = ' '
         text_button_2               = 'No'(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                      = ans
    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.
      CASE ans.
        WHEN '001'.
          PERFORM check_ship_to_party.
          IF sy-subrc <> 0.
            MESSAGE 'ENTER THE CORRECT SHIP TO PARTY ' TYPE 'I'.
          ELSE.
            PERFORM check_payer.
            IF sy-subrc <> 0.
              MESSAGE 'ENTER THE CORRECT PAYER' TYPE 'I'.
            ELSE.
              PERFORM check_bill_to_party.
              IF sy-subrc <> 0.
                MESSAGE 'ENTER THE CORRECT BILL TO PARTY' TYPE 'I'.
              ELSE.
                wa_salesorder-zernam = sy-uname.
                MOVE-CORRESPONDING wa_salesorder TO zvbak.
                MODIFY zvbak_101954.
                temp_salesitems-zvbeln = wa_salesorder-zvbeln.
                MOVE-CORRESPONDING temp_salesitems TO zvbap.
                MODIFY zvbap.
                IF sy-subrc = 0.
                  MESSAGE 'THE DATA IS SAVED SUCCESSFULLY' TYPE 'I'.
                  CLEAR wa_salesorder.
                  REFRESH it_salesitems.
                  REFRESH temp_salesitems.
                  IF sy-ucomm = 'EXIT'.
                    LEAVE PROGRAM.
                  ENDIF.
                  IF sy-tcode = 'ZVA01'.
                    CALL SCREEN '1000'.
                  ELSE.
                    CALL SCREEN '1003'.
                  ENDIF.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDIF.
        WHEN '002'.
          IF sy-tcode = 'ZVA01'.
            CLEAR wa_salesorder.
            REFRESH it_salesitems.
            REFRESH temp_salesitems.
            CALL SCREEN '1000'.
          ELSE.
            CLEAR wa_salesorder.
            REFRESH it_salesitems.
            REFRESH temp_salesitems.
            CALL SCREEN '1003'.
            CLEAR ans.
          ENDIF.
      ENDCASE.
    ENDFORM.                    " pop_up
    *&      Module  USER_COMMAND_1002  INPUT
          text
    MODULE user_command_1002 INPUT.
    IF sy-datar = 'X'.
       PERFORM material_check.
       IF sy-subrc <> 0.
         MESSAGE 'ENTER THE CORRECT MATERIAL' TYPE 'I'.
       ELSE.
         SELECT SINGLE zmaktx zmeins zwaerk zstprs FROM zmara_101954
         INTO CORRESPONDING FIELDS OF wa_salesitems
           WHERE zmatnr = wa_salesitems-zmatnr.
         wa_salesitems-znetwr =  wa_salesitems-zstprs * wa_salesitems-zbrgew.
       ENDIF.
       var = 1.
    ENDIF.
      IF sy-ucomm = 'BACK'.
        LOOP AT temp_salesitems.
          MODIFY temp_salesitems FROM wa_salesitems .
        ENDLOOP.
        it_salesitems-pick = ' '.
        CALL SCREEN '1001'.
      ENDIF.
    ENDMODULE.                 " USER_COMMAND_1002  INPUT
    *&      Module  USER_COMMAND_1000  INPUT
          text
    MODULE user_command_1000 INPUT.
      CASE sy-ucomm.
        WHEN 'NEXT'.
          SELECT * FROM zt001k_101954 INTO CORRESPONDING FIELDS OF
            temp_salesorder WHERE
            zvkorg = wa_salesorder-zvkorg AND
            zvtweg = wa_salesorder-zvtweg AND
            zspart = wa_salesorder-zspart.
          ENDSELECT.
          IF sy-subrc = 0.
            CALL SCREEN '1001'.
          ELSE.
            MESSAGE 'Invalid Data Entered' TYPE 'I'.
            CALL SCREEN '1000'.
          ENDIF.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_1000  INPUT
    *&      Module  USER_COMMAND_1003  INPUT
          text
    MODULE user_command_1003 INPUT.
      IF sy-ucomm = 'NEXT'.
       IF sy-datar = ' '.
         MESSAGE 'ENTER PURCHASE ORDER NUMBER' TYPE 'I'.
         CALL SCREEN 1000.
        IF NOT wa_salesorder-zvbeln CO '0123456789'.
          MESSAGE 'PURCHASE ORDER NUMBER IS NOT IN THE EXPECTED FORMAT' TYPE 'I'.
          CALL SCREEN '1003'.
        ENDIF.
        var3 = 0.
        CALL SCREEN '1001'.
      ENDIF.
    ENDMODULE.                 " USER_COMMAND_1003  INPUT
    *&      Module  input_help_sales_order  INPUT
          text
    MODULE input_help_sales_order INPUT.
      SELECT zvbeln FROM zvbak_101954 INTO CORRESPONDING FIELDS OF TABLE
      itab1.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
      DDIC_STRUCTURE         = ' '
          retfield               = 'ZVBELN'
      PVALKEY                = ' '
         dynpprog               = sy-cprog
         dynpnr                 = '1003'
         dynprofield            = 'ZVBELN'
      STEPL                  = 0
      WINDOW_TITLE           =
      VALUE                  = ' '
         value_org              = 'S'
      MULTIPLE_CHOICE        = ' '
      DISPLAY                = ' '
      CALLBACK_PROGRAM       = ' '
      CALLBACK_FORM          = ' '
      MARK_TAB               =
    IMPORTING
      USER_RESET             =
        TABLES
          value_tab              = itab1
      FIELD_TAB              =
      RETURN_TAB             =
      DYNPFLD_MAPPING        =
    EXCEPTIONS
      PARAMETER_ERROR        = 1
      NO_VALUES_FOUND        = 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.
    ENDMODULE.                 " input_help_sales_order  INPUT
    *&      Module  back_command  INPUT
          text
    module back_command input.
    *if sy-ucomm = 'SAVE' OR 'BACK' OR 'DETAIL' OR 'EXIT' OR 'CANCEL'.
    *endif.
    endmodule.                 " back_command  INPUT
    Regards
    Rajesh Kumar

  • Table Control BDC to CHANGE the contents problem

    Hi,
    I am having a problem in BDC. The screen is having a table control and I want to change the contents depending on certain conditions.
    This BDC is not to upload the data but to change already existing data.
    How can I dynamically know the contents of the screen or contents or the row so that I can select the correct row to be changed?

    Hi,
    No its not like that.
    Suppose I want to update/change sheduling agreements <b>not upload</b>
    I will be calling the transaction which will list the scheduling lines in a table control. The order of the lines in table control will be as per logic of SAP's Application program.
    Now when I read the file and how will I dynamically know the exact line which should get selected.
    Say my internal table is having the data to be changed but I can not determine the exact ordering of the records as per table control.
    Hence I am facing the problem to know the exact ordering of table control
    Let me give another example. Using ME12 transaction I am supposed to delete certain rows from info records say having condition '15EC'.
    Now when I call a transction how will I know that for a particular vendor which line will contain this condition value so that can select the line and press delete
    Regards,
    Nitin

  • Table Control - Cursor placed on same field

    Hi,
       I am facing one problem in a User defined Screen that having Table control.
       I written some validations for each and every field in Screen including Table control.
       But each & every time i am pressing Enter , the cursor is going to first field in the screen . I want to restrict this one...i want to be cursor on the field which i entered value at that time or next navigation field.
       How i can achieve this...cursor should stay on the same field , it should not go to first field.
       Pls give ur suggestions...
    Thanks in Advance,
    Best Regards,
    pavan.

    Hello Pavan,
    This is the first time I'm coming across this problem and I find it quite peculiar. Anyways, I can think of one option that you can try out.
    Use the option GET CURSOR FIELD to get the cursor in the PAI event and then use the SET CURSOR FIELD statement in the PBO to set the cursor to the appropriate field.
    Regards,
    Anand Mandalika.

  • Table for sales order change by field

    Dear Friends,
    I want to get the data @ table level for the list of sales orders with changed by field. Can you please tell which table/s for sales order change by field can be used?
    Thanks,
    pinky

    Hi
    You can get the changes for SALES ORDER item in CDPOS table
    Goto SE16 and find the changes.
    hope it will serve your purpose.
    thanks,
    santosh

Maybe you are looking for