How to make the fields of the table mandatory while creating new entries..?

Hi,
I have created a new Z table which has 6 fields. All the 6 fields are KEY fields and all are of CHAR type. I have generated the table maintenance generator for the same. My requirement is all the fields should be MANDATORY while creating the entries. No field should be BLANK.
When creating the new entries in the table, even if I don't give any values to some of the fields, it is saving the entry. But, it shouldn't happen like that. If any of the field is kept blank, it should not allow the user to save the entry. Can someone tell me how to approach this. Will there be any settings while creating the table which takes care of this.
I read somewhere that this can be done using the Table EVENTS. Can someone tell me what is the code that we should write there in the Events which prevents the user from saving the blank fields. While writing the logic in the events, how to check whether the particular field is BLANK or not. Will the values be stored in any internal table kind of thing..?
My table name is ZCRF_TAB and the fields are FLD!, FLD2, FLD3, FLD4, FLD5 & FLD6. Can someone provide me sample code for my requirement. Thanks in advance.
Best regards,
Paddu.

Hi,I think u have generated Table Maintainance Generator, goto Environment->Modifications->Events
Select appropriate option by using F4,I think value 05 is appropriate for u r requirement.Enter From routine name.Dbl click on the routine.
Write the appropriate code like:
If ZTABLE-FIELD1 is initial.
Message (E000) with "Fill all the manadatory fields".
Thats it.Just look at the following docu with screenshots,by this understand how u can use Table Events:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/abap/how%20to%20implement%20events%20in%20table%20maintenance.doc
Regards,
Rock.

Similar Messages

  • Sort Field to be made mandatory while creating maintenance plan(IP42)

    Hi Experts,
    Please suggest me the way by which i can make the field "Sort field" mandatory while creating maintenance plan (IP42).
    Regards,
    Vivek

    Vivek,
    There is no std config to acheive this. Please use IPRM0004 Maintenance plan/item: Customer check for "Save" to accomplish the same.
    Mahee

  • How to make a field on the screen of any transaction 'display only' in BADI

    Hello All,
    I am working on BADI. The requirement is that for a specific condition, the user should not be able to change the 'plant' field on the screen of the standard MM transactions ME22N or ME23N.
    The field 'plant' should be grayed out and the user should not be able to even enter anything in that field. Is that possible? If yes, how?
    Please help, it is urgent.

    hi radhika
    yes u can do that
    probably u will have to do the customization  using exits
    the possible exits fotr these trxns are
    <b>Exit Name           Description</b>
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule implem.
    MEQUERY1            Enhancement to Document Overview ME21N/ME51N
    MEVME001            WE default quantity calc. and over/ underdelivery tolerance
    MM06E001            User exits for EDI inbound and outbound purchasing documents
    MM06E003            Number range and document number
    MM06E004            Control import data screens in purchase order
    MM06E005            Customer fields in purchasing document
    MM06E007            Change document for requisitions upon conversion into PO
    MM06E008            Monitoring of contr. target value in case of release orders
    MM06E009            Relevant texts for "Texts exist" indicator
    MM06E010            Field selection for vendor address
    MM06E011            Activate PReq Block
    MMAL0001            ALE source list distribution: Outbound processing
    MMAL0002            ALE source list distribution: Inbound processing
    MMAL0003            ALE purcasing info record distribution: Outbound processing
    MMAL0004            ALE purchasing info record distribution: Inbound processing
    AMPL0001            User subscreen for additional data on AMPL
    LMEDR001            Enhancements to print program
    LMELA002            Adopt batch no. from shipping notification when posting a GR
    LMELA010            Inbound shipping notification: Transfer item data from IDOC
    LMEQR001            User exit for source determination
    LMEXF001            Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001            Customer-Specific Source Determination in Retail
    M06B0001            Role determination for purchase requisition release
    M06B0002            Changes to comm. structure for purchase requisition release
    M06B0003            Number range and document number
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn.
    M06E0004            Changes to communication structure for release purch. doc.
    M06E0005            Role determination for release of purchasing documents
    MMDA0001            Default delivery addresses
    MMFAB001            User exit for generation of release order
    MRFLB001            Control Items for Contract Release Order
    regards
    ravish
    <b>plz dont forget to reward points if useful</b>

  • How to make screen field enable when table control gives an error

    Hi,
        I had a scneario like when table control data wrong then one parameter of the screen should be enabled for the input, i knew that screen-name will not work since it will have always table control fields only when table control gives an error.
    How to make the other parameter enable when table control throws an error.
    Regards,
    Jaya

    Hi Gobi,
         Thanks for your response, but issue is - how to make other screen fields enable when there was an error in the table control data.
    For table control - lets say we will use the code as i mentioned above.i am sure that we cant write the code for field enable in between loop & endloop.
    as you said if we right outside the loop-endloop, the module wont be triggered when table control throws an error, because that statement was not there in the loop-endloop.
    please let me know if you need any more information on the issue. I hope there is alternative for this in SAP.
    Thanks
    Jaya

  • How to Make Assignment field in Details Tab Mandatory in MIRO

    Hi Experts,
    I would like to know how to make the field "assignment" in Details tab of transaction MIRO as a Mandatory field, Give all the posible ways and their causes and effects.
    Thanks In advance.

    Hi,
    check the field statusgroup of the reconcilation account for your vendors and change thisfield status group for the field Assinment to Mandatory.
    But make sure that then all your endors haven an sort key in the master data.
    Regards,

  • How to make system consider Alternative unit of measure while creating BOM?

    Dear Experts,
    When creating a BOM, how do I make the system consider the alternative unit of measure if at the point of creating the BOM, I decide to use  the  component material  alternative unit of measure? The scenario is as follows:
    Header
    Material code is TK677, Base Unit of Measure is Litres.
    Components:
    Material code is RT677, Base Unit of measure is Litres.
    Material code is RV677, Base Unit of measure is Kilogram.
    When formulation is done in the laboratory, the components are weighed and measured in percentage weight. For example, 20% for first component (RT677)  and 80% (RV677) for the second component.
    To depict this, I maintain an alternative unit of measure of Kg  in the Material Master of RT677, and maintain the conversion factor (100kg = 116Litres) so as to enable me use Kg as unit of measure for material RT677 when creating the BOM.
    When creating the BOM, I enter Kg as unit of measure for material RT677, but gets the system error message ''Unit of measure KG not supported for material RT677 in plant NG00
    Message no. 29175''
    What do i need to do as I have already maintained Kg as alternative unit of measure? or which other better way should i handle this issue?

    Thanks a lot for your reply, it worked, it allowed me to create the BOM using Kg for component RT677. But the new challenge i am now facing is that when I try to create a process order copyiing this BOM, it gives me the same unit (Kg) for component RT677 whose base unit of measure is Litres.
    I actually want the process order to copy the BOM and use Litres  for component RT677 based on the conversion factor which I have maintained in the Additional Data window of the material master.
    The reason is that, the formulation done in the lab is measured in percentage weight, but this component weight is now scaled up to Litres when the component is pumped into the Blending Vessels as specified in their Blending Instruction.
    Please how do I ensure that when the master recipe is copied during creation of the Process Order, that the unit of measure will be the base unit of measure (Litres) despite the fact that I have used the alternative unit of measure (Kg) for this component during creation of the BOM.  
    Thanks

  • How to customize Category and Category items list while creating New Model

    Hi,
    what the most convenient way to customize the Category and Category items list while creating New Model?
    This is standard:
    Now, what we want to achieve, is to customize this menu, to:
    1. Display in the Category window only f.e. two categories:
    - EA Diagrams
    - BPM Diagrams
    2. In the EA Diagrams, we want to have f.e. four copies of City Planning diagram, each of them should have different elements available, f.e. in the first copy, only Architecture Areas shall be made available, in the second one Architecture Areas and Business Functions, in the third on f.e. only Business Functions shall be made available. Additionally, it should behave like a hierarchy ... meaning you can create the second diagram, only as child (related diagram) of the first diagram etc.
    I know, excluding the particular diagrams/diagram elements can be configured using the right/profile settings, but how to:
    1. Customize the standard New Model menu window
    2. Create copies of City Planning Diagrams with different set-ups
    3. Set the relationship between diagrams
    Is such a configuration change possible?
    Thanks a lot for your help!
    Regards,
    Rafal

    Now, what we want to achieve, is to customize this menu, to:
    Question #1. Display in the Category window only f.e. two categories:
    - EA Diagrams
    - BPM Diagrams
    Click on Tools => General Options=> Model Creation
    Click on Properties => at right of Default category set
    Note : Model template does not work as Category. We can't set. An enchancement request has been open to SAP
    In the following example I defined a new default (MyNewDefault.mcc). As you can see only BPMN models are available.
    To create a new category set with BPMN choice
    a) Copy default.mcc in MyNewDefault.mcc file.
        Go to Tools=>General Options=>Model Creation : Select your new category
        Go to Tools=>General Options=>Model Creation : Edit properties and remove all things you does not want keep
    or
    b) Go to Tools=>General options=>Model Creation : Edit properties and click on Save as button and specify the file name "MyNewDefault".
        Quit the window.
        Select you new category : Go to Tools=>General Options=>Model Creation : "MyNewDefault"
        Edit properties and remove all things you does not want keep.
        Save you new category
    Question #2. How to define copies/replicas of existing diagrams
         Wrote an extension
    Question #3. How to make sure, particular diagrams can be used (created) only on predefined "levels" and how to set the parent-child relationship, so that PD enforced it directly when creating a new diagram.
         Specify yours conditons in your extension attached to your model
         Example : When the user want create a child diagram :  You can display a list of Parent Diagrams to select from.
         You can set in your extension by VBScript parent-child relationship
    Question #4 In the EA Diagrams, we want to have f.e. four copies of City Planning diagram, each of them should have different elements available, f.e. in the first copy, only Architecture Areas shall be made available, in the second one Architecture Areas and Business Functions, in the third on f.e. only Business Functions shall be made available.
    If I understand well your question. I suggest to take a look in
    Repository=>Administration=>Objects Permission Profile
    You can specify objects to show, mask, deactivate at model level.
    You can specifiy your own metadata.
    But I'm not sure you can mask, deactivate functions following diagram selection. It seem to specific.
    Message was edited by: Benoit Le Nabec

  • How to update the field ZLSPR of table BSEG

    HI Friends,
    Can anyone tell me how to update the field ZLSPR of table BSEG? I've a 700 line abap program and I should include some logic in this program to make an entry into BSEG-ZLSPR. Is there any FM/BAPI available? Is BDC a healthy approach?. My team lead do not want me to use UPDATE statement....please help.
    Thanks in advans,
    Varsha.

    Hi,
    Hi ,
    You will need to group that radiobuttons so that SAP knows they are linked together. To do this using the grahical layout editor simply select all the radiobuttons and then right click on them, Now choose define group. Once you have done this you should not need any of the "clear" or "='X'" statements SAP should control it all for you.
    hope this helps
    Reward if found helpfull...
    Venkoji Babu.

  • How to deactivate the fields in a table control of a standard screen

    Hi,
       I have an requirement to deactivate the fields in a table control of a standard screen in ME22n transaction.I am using a BADI "ME_PROCESS_PO" and in item mathod i am looping at screen for the screen field name in the table control.But it is not working. Can anyone give me the possible solution . Thanx in advance.
    With Regards,
    Ajit.

    >
    Vivek Joshi wrote:
    > Hello Router ,
    >                      I do not want to set the focus , I want to get focus . User can click on any cell in the table and then press a button in the toolbar . Now in the event handler of the button i want to under which column User has set the focus .
    > I hope , I am clear now .
    > Thanks for your help
    > Regards
    > Vivek
    An yet you keep getting suggestions of how to set the focus.   I looked through the API documentation and I don't see anything that would suggest you can request to see where the current focus is.  Perhaps someone might still come along with a solution, but my hopes wouldn't be too high at this point.  I can pass the requirement onto Product Definition, as the use case does seem interesting.  Perhaps it is something we have even considered in the past. 
    But for now, there might be a better way to solve your problem.  It will probably mean redesign the interaction.  What exactly are your requirements?  Do you need to be able to get the data in a particular cell of table when a button is clicked?  Just throwing out some ideas here, but maybe just use the lead selection to select the row, but then have a button choice to choose the action associated with the column you want. A hack for sure - but it might work.  Also it doesn't help you right now, but in the near future update to NetWeaver 7.0, WDA does have a onColSelect event for the table.

  • How to read the field value from Table Control

    Hello Experts,
    I am creating my first Table Control Screen. Basically I have to create a screen (102) with a table control which has 2 fields: A_QTY, B_QTY and 2 Buttons: SAVE, EXIT.
    When Clicked on 'SAVE' the data (MATNR) from a previous screen (101)  and the data (A_QTY, B_QTY) from the new screen (102) should be saved into a Z-table.
    Internal table t_data has 3 fields.
    MATNR
    A_QTY
    B_QTY.
    Table Control TC_RACK was declared like this:
    controls tc_rack type tableview using screen 0102.
    I/0 Fields:
    A_QTY type ZQTY.
    B_QTY type ZQTY.
    The screen Flow Logic:
    process before output.
    module status_0102.
      loop at t_data into w_data with control tc_rack.
      endloop.
    process after input.
      module exit_0102 at exit-command.
      loop at tc_rack.
      endloop.
    module user_command_0102.
    module status_0102output.
      set pf-status 'STATUS_102'.
      set titlebar 'TITLE_102'.
      describe table t_rack lines tc_rack-lines.
    endmodule.                 "status_0102 output
    process after input.
    module user_command_0615 input.
    case ok_code.
       when 'SAVE_RK'.
       when others.
    endcase.
    endmodule.                 "user_command_0102 input
    Now for eg, when the users enter values for A_QTY and B_QTY like this:
    A_QTY     B_QTY
    1000         2000
    3000         4000
    How can I read these values and pass them to T_DATA so that I can save it into Z-table?
    I greatly appreciate your help.
    I've gone through some previously posted threads and could not understand because my knowledge in this area is preliminary.
    Thanks a lot.
    Could you please let me know
    Edited by: dev a on Jan 13, 2010 2:46 PM

    Hi dev a
    You should use
      DATA: lv_name(30) TYPE c.
      FIELD-SYMBOLS: <QTY> type ZQTY.
    GET CURSOR FIELD lv_name.   "Get the field name in table control
    check sy-subrc = 0.
    assign  (lv_name) to <QTY>.  "Here you get the value in <QTY>
    check sy-subrc = 0.
    Also use <your table control>-current_line to get the table index uo're currently on.
    Hint: Do not use GET CURSOR LINE if you want to get table index since this gives you the line relative to dialog screen
    Good luck
    Dean Q.
    Edited by: Dean Q on Jan 13, 2010 11:11 PM

  • How can I hide or make visible the fields at the order and at the delivery?

    How can I hide or make visible the fields at the order and at the delivery?
    Thanks in advance.

    Hi,
    For sales order, use user exit :
    MV45AFZZ and FORM userexit_field_modification.
    For deliveries, use BADI :
    LE_SHP_DELIVERY_PROC (see with Tcode SE18) and method CHANGE_FIELD_ATTRIBUTES.
    Create implementation in ref to this badi with Tcode SE19.
    Regards,
    Lionel

  • How to make users to select the date from calendar control my making the date field read only in date time control in external list in sharepoint 2010

    How to make users to select the date from calendar control only, by my making the date text field read only (don't want to let users type the date) in date time control in external list in sharepoint 2010. I am looking for a solution which can
    be done through sharepoint desginer / out of the box.
    thanks.

    Congratulate you got the solution by yourself. I am new to a
    WinForms calendar component, I feel so helpless on many problems even I'd read many tutorials. This question on the
    calendar date selection did me a great favor. Cheers.

  • How to pick the fields of ABC table in Payslip

    How to pick the fields of ABC table in Payslip, So i want to add the calender days(absent days) in my payslip

    You can do it through PE51_CHECKTAB
    Yogesh

  • How to update ABSKZ field in the table EKPO

    Hi
    Is there any way to update the rejection indicator (ABSKZ) field of table EKPO?.
    I am looking at BAPI_CHANGE_PO FM, But it does not have ABSKZ field in the item structure BAPIMEPOITEM.
    Do I need to extend the BAPI structure with ABSKZ field ?
    Regards
    Raj.

    Hi
    To extend  BAPI_PO_CHANGE  for EKPO-ABSKZ field , we have to add field in the structure BAPI_TE_MEPOITEM to pass it to  EXTENSIONIN. As ABSKZ field already availble in the EKPO it is not allowed to add ABSKZ in the structure BAPI_TE_MEPOITEM. it is throwing below error message.
    Field ABSKZ in table EKPO is specified twice. Please check
    Since it is not Z field and also not availble in the structure BAPIMEPOITEM  not sure how to update ABSKZ field in the EKPO table.
    Please advice.
    Regards
    Raj

  • How to remove numeric value in the fields of a table

    Environment: SQL Server 2008R2
    Tools: MSMS
    Code:
    a. Table Definition 
    USE [DLPT_CMS1_RESTORE]
    CREATE TABLE [dbo].[Mocha]
    [id] [int] IDENTITY(80,1) NOT NULL,
    [Login_ID] [char](10) NULL,
    [PE4] [varchar](8000) NULL,
    [PE9] [varchar](8000) NULL,
    [PE11] [varchar](8000) NULL,
    [PE15] [varchar](8000) NULL,
    [PE17] [varchar](8000) NULL,
    [PE20] [varchar](8000) NULL,
    [PE22] [varchar](8000) NULL,
    [PE25] [varchar](8000) NULL,
    [PE28] [varchar](8000) NULL,
    [PE29] [varchar](8000) NULL,
    [PE27] [varchar](8000) NULL
    b. data
    Insert into Mocha (Login_ID,[PE4],[PE9] ,[PE11],[PE15],[PE17],[PE20],[PE22],[PE25],[PE28], [PE29],[PE27])
    Values (293595,293595,293737,293737,293737,293737,293737,293737,'I dont think 12 week program is hard',293737,293737,'antiinflamatory- this helps to fight free radicals and ward off disease.')
    Insert into Mocha (Login_ID,[PE4],[PE9] ,[PE11],[PE15],[PE17],[PE20],[PE22],[PE25],[PE28], [PE29],[PE27])
    Values (293841,293841,293841,293841,'293841 I feel that the product should be more holistic'
    ,'293841 I would like for the customer support to give more immediate feedback'
    ,'293841 Fends off alzeimer disease and dementia. It has been proven to destroy the amaloid plaques that are believed to be a cause of dementia and memory loss',
    293841,293841,293841,293841,293841,293841)
    Challenge: 
    1. Delete / Remove login_ids from a string found in one or more of the fields in Mocha table 
    Example: the following string contains login_id '293841 I would like for the customer support to give more immediate feedback' , remove the login_id in the narrative field which could be PE4, PE22. or PE28
    2. Count the response or narrative field for each column after the deletion is completed 
    My script and still working progress
    SELECT * FROM MOCHA
    WHERE ISNUMERIC(PE4) = 1 and [PE4] like '%[0-9]%'
    Thanks for the support

    I added a new data which shows inaccurate results using your last updated code. The mistake appears in the 3rd row culomn name PE25 is null but counts it as 1 
    CREATE TABLE [dbo].[Mocha]
    [id] [int] IDENTITY(80,1) NOT NULL,
    [Login_ID] [char](10) NULL,
    [PE4] [varchar](8000) NULL,
    [PE9] [varchar](8000) NULL,
    [PE11] [varchar](8000) NULL,
    [PE15] [varchar](8000) NULL,
    [PE17] [varchar](8000) NULL,
    [PE20] [varchar](8000) NULL,
    [PE22] [varchar](8000) NULL,
    [PE25] [varchar](8000) NULL,
    [PE28] [varchar](8000) NULL,
    [PE29] [varchar](8000) NULL,
    [PE27] [varchar](8000) NULL
    Insert into Mocha (Login_ID,[PE4],[PE9] ,[PE11],[PE15],[PE17],[PE20],[PE22],[PE25],[PE28], [PE29],[PE27])
    Values (293737,293737,293737,293737,NULL,293737,NULL,293737,'I dont think 12 week program is hard',293737,293737,'antiinflamatory- this helps to fight free radicals and ward off disease.')
    Insert into Mocha (Login_ID,[PE4],[PE9] ,[PE11],
    [PE15],[PE17]
    ,[PE20],[PE22],[PE25],[PE28], [PE29],[PE27])
    Values (293841,293841,293841,293841
    ,'293841 I feel that the product should be more holistic'
    ,'%%293841%% I would like for the customer support to give more immediate feedback'
    ,'%%293841%% Fends off alzeimer disease and dementia. It has been proven to destroy the amaloid plaques that are believed to be a cause of dementia and memory loss'
    ,293841,NULL,NULL,293841,293841)
    Insert into Mocha (Login_ID,[PE4],[PE9] ,[PE11],[PE15],[PE17],[PE20],[PE22],[PE25],[PE28], [PE29],[PE27])
    Values (293735,'293735 my name',NULL,NULL,NULL,NULL,NULL,NULL,'%%293735%%I dont think',293735,293735,'this helps to fight free radicals and ward off disease')
    select
    Replace(Replace(PE4,RTRIM(Cast(Login_ID as varchar(10))), ''),'%','') PE4
    ,Replace(Replace(PE9,RTRIM(Cast(Login_ID as varchar(10))), ''),'%','') PE9
    ,Replace(Replace(PE11,RTRIM(Cast(Login_ID as varchar(10))), ''),'%','') PE11
    ,Replace(Replace([PE15],RTRIM(Cast(Login_ID as varchar(10))), ''),'%','') PE15
    ,Replace(Replace(PE17,RTRIM(Cast(Login_ID as varchar(10))), ''),'%','')PE17
    ,Replace(Replace(PE20,RTRIM(Cast(Login_ID as varchar(10))), ''),'%','') PE20
    ,Replace(Replace(PE22,RTRIM(Cast(Login_ID as varchar(10))), ''),'%','') PE22
    ,Replace(Replace(PE22,RTRIM(Cast(Login_ID as varchar(10))), ''),'%','') PE25
    ,Replace(Replace(PE28,RTRIM(Cast(Login_ID as varchar(10))), ''),'%','') PE28
    ,Replace(Replace(PE22,RTRIM(Cast(Login_ID as varchar(10))), ''),'%','') PE29
    ,(case when len(PE4)-Len(Replace(PE4,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe4] is null or Replace(PE4,RTRIM(Cast(Login_ID as varchar(10))), '') ='' Then 0 Else 1 End) cntP4
    ,(case when len(PE9)-Len(Replace(PE9,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe9] is null or Replace(PE9,RTRIM(Cast(Login_ID as varchar(10))), '') ='' Then 0 Else 1 End) cntP9
    ,(case when len(PE9)-Len(Replace(PE11,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe11] is null or Replace(PE11,RTRIM(Cast(Login_ID as varchar(10))), '') ='' Then 0 Else 1 End) cntP11
    ,(case when len(PE15)-Len(Replace(PE15,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe15] is null or Replace(PE15,RTRIM(Cast(Login_ID as varchar(10))), '') ='' Then 0 Else 1 End) cntP15
    ,(case when len(PE17)-Len(Replace(PE17,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe17] is null or Replace(PE17,RTRIM(Cast(Login_ID as varchar(10))), '') ='' Then 0 Else 1 End) cntP17
    ,(case when len(PE20)-Len(Replace(PE20,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe20] is null or Replace(PE20,RTRIM(Cast(Login_ID as varchar(10))), '') ='' Then 0 Else 1 End) cntP20
    ,(case when len(PE22)-Len(Replace(PE22,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe22] is null or Replace(PE22,RTRIM(Cast(Login_ID as varchar(10))), '') ='' Then 0 Else 1 End) cntP22
    ,(case when len(PE25)-Len(Replace(PE25,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe25] is null or Replace(PE25,RTRIM(Cast(Login_ID as varchar(10))), '') ='' Then 0 Else 1 End) cntP25
    ,(case when len(PE28)-Len(Replace(PE28,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe28] is null or Replace(PE28,RTRIM(Cast(Login_ID as varchar(10))), '') =''Then 0 Else 1 End) cntP28
    ,(case when len(PE29)-Len(Replace(PE29,RTRIM(Cast(Login_ID as varchar(10))), ''))=0 or [pe29] is null or Replace(PE29,RTRIM(Cast(Login_ID as varchar(10))), '') =''Then 0 Else 1 End) cntP29
    from mocha

Maybe you are looking for