Unable to add custom tab in ME21N using BADI ME_GUI_PO_CUST
Dear All,
I need one extra tab in Item Details of ME21N.
This extra tab should have two fields of my own.
I have put the coding in the SUBSCRIBE method of the implementation of the BADI ME_GUI_PO_POST as follows:
data: ls_subscriber like line of re_subscribers.
we want to add a customer subscreen on the item detail tab
check im_application = 'PO'.
check im_element = 'ITEM'.
each line in re_subscribers generates a subscreen. We add one subscreen in this example
clear re_subscribers[].
the name is a unique identifier for the subscreen and defined in this class definition
ls_subscriber-name = 'Event Details'.
the dynpro number to use
ls_subscriber-dynpro = '0001'.
the program where the dynpro can be found
ls_subscriber-program = 'SAPLMEPOBADIEX'.
each subscreen needs his own DDIC-Structure
ls_subscriber-struct_name = 'ZSM_PO_STRUC'.
a label can be defined
ls_subscriber-label = 'Event ID'.
the position within the tabstrib can be defined
ls_subscriber-position = 5.
the height of the screen can be defined here. Currently we suport two screen sizes:
value <= 7 a sevel line subscreen
value > 7 a 16 line subscreen
ls_subscriber-height = 7.
append ls_subscriber to re_subscribers.
I put breakpoints in the implementation of the method, and it is going into it, yet the extra tab is not getting displayed on the screen.
Please give your suggestions on this.
Regards,
Prosenjit.
Hi Prosengit,
I am not aure about u r BADI,
BUt last week i have custom tab in the PO header data using this enahncement 'MM06E005'.
IN thi senhancement u have thrre screen exits.In this enhancement
SAPMM06E 0111 CUSTSCR1 SAPLXM06 0111 Subscreen: PO item
u can add subscreen and u can add u r own fields here .
and u can write u r code in 'EXIT_SAPMM06E_006'.
if u want to change the title of the program.
Go to program SAPLXM06 then go to text element give text symbol no as '111' and u can change the title of u r tab.
I hope this solves u r problem.
Similar Messages
-
Hi All,
I have added custom screen with two z fields at item level using BADI ME_GUI_PO_CUST and ME_PROCESS_PO_CUST i can see my screen in tcodes ME21N , ME22N , ME23N but I am not able to save data.
and also screen is coming in change mode even in ME23N .
thanks.Hi,
I have added two xfields at item level.
This is the code i have added in zimplementation ZME_GUI_PO_CUST .
IN Zimplementation ME_PROCESS_PO_CUST I have added code only in method FIELDSELECTION_ITEM . after doing this I can see only screens in ME21N, ME22N, ME23N but when enter data in zfields and trying to save it is giving me message no data has changed.
method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE.
DATA: ls_subscriber LIKE LINE OF re_subscribers.
we want to add a customer subscreen on the item detail tab
CHECK im_application = 'PO'.
CHECK im_element = 'ITEM'.
each line in re_subscribers generates a subscreen. We add one subscreen in this example
CLEAR re_subscribers[].
the name is a unique identifier for the subscreen and defined in this class definition
ls_subscriber-name = subscreen1.
the dynpro number to use
ls_subscriber-dynpro = '0001'.
the program where the dynpro can be found
ls_subscriber-program = 'SAPLYMEPOBADIEX'.
each subscreen needs his own DDIC-Structure
ls_subscriber-struct_name = 'MEPO_BADI_STRUCT'.
a label can be defined
ls_subscriber-label = text-001.
the position within the tabstrib can be defined
ls_subscriber-position = 4.
the height of the screen can be defined here. Currently we suport two screen sizes:
value <= 7 a sevel line subscreen
value > 7 a 16 line subscreen
ls_subscriber-height = 7.
APPEND ls_subscriber TO re_subscribers.
ENDIF.
method IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_MODEL.
DATA: l_item TYPE REF TO if_purchase_order_item_mm,
ls_mepoitem TYPE mepoitem,
ls_customer TYPE mepo_badi_exampl.
system asks to transport data from the business logic into the view
CASE im_name.
WHEN subscreen1.
is it an item? im_model can be header or item.
mmpur_dynamic_cast l_item im_model.
CHECK NOT l_item IS INITIAL.
transport standard fields
ls_mepoitem = l_item->get_data( ).
transport customer fields
CALL FUNCTION 'YMEPOBADIEX_GET_DATA'
EXPORTING
im_ebeln = ls_mepoitem-ebeln
im_ebelp = ls_mepoitem-ebelp
IMPORTING
ex_data = ls_customer.
store info for later use
MOVE-CORRESPONDING ls_mepoitem TO dynp_data_pbo.
MOVE ls_customer-badi_bsgru TO dynp_data_pbo-badi_bsgru.
MOVE ls_customer-badi_afnam TO dynp_data_pbo-badi_afnam.
WHEN OTHERS.
ENDCASE.
endif.
method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP.
CASE im_name.
WHEN subscreen1.
CALL FUNCTION 'YMEPOBADIEX_PUSH'
EXPORTING
im_dynp_data = dynp_data_pbo.
WHEN OTHERS.
ENDCASE.
ENDIF.
endmethod.
method IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_DYNP.
CASE im_name.
WHEN subscreen1.
CALL FUNCTION 'YMEPOBADIEX_POP'
IMPORTING
ex_dynp_data = dynp_data_pai.
IF dynp_data_pai NE dynp_data_pbo.
something has changed therefor we have to notify the framework
to transport data to the model
re_changed = mmpur_yes.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDIF.
endmethod.
method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_MODEL.
DATA: l_item TYPE REF TO if_purchase_order_item_mm,
ls_mepoitem TYPE mepoitem,
ls_customer TYPE mepo_badi_exampl.
data have to be transported to business logic
CASE im_name.
WHEN subscreen1.
is it an item? im_model can be header or item.
mmpur_dynamic_cast l_item im_model.
CHECK NOT l_item IS INITIAL.
ls_mepoitem = l_item->get_data( ).
standard fields changed?
IF dynp_data_pbo-matkl NE dynp_data_pai-matkl OR
dynp_data_pbo-plifz NE dynp_data_pai-plifz OR
dynp_data_pbo-webaz NE dynp_data_pai-webaz.
update standard fields
ls_mepoitem-matkl = dynp_data_pai-matkl.
ls_mepoitem-plifz = dynp_data_pai-plifz.
ls_mepoitem-webaz = dynp_data_pai-webaz.
CALL METHOD l_item->set_data( ls_mepoitem ).
ENDIF.
CALL FUNCTION 'YMEPOBADIEX_GET_DATA'
EXPORTING
im_ebeln = ls_mepoitem-ebeln
im_ebelp = ls_mepoitem-ebelp
IMPORTING
ex_data = ls_customer.
ls_customer-badi_bsgru = dynp_data_pai-badi_bsgru.
ls_customer-badi_afnam = dynp_data_pai-badi_afnam.
CALL FUNCTION 'YMEPOBADIEX_SET_DATA'
EXPORTING
im_data = ls_customer.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDIF.
method IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_ITEM.
DATA: l_persistent TYPE mmpur_bool.
CONSTANTS:
FIELD-SYMBOLS: <fs> LIKE LINE OF ch_fieldselection.
l_persistent = im_item->is_persistent( ).
*IF l_persistent EQ mmpur_yes.
READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY
metafield = MMMFD_YYMAN_NUM."fd_cust_01.
IF sy-subrc IS INITIAL.
<fs>-fieldstatus = '*'. " Display <-- this one was as per the sample code given.
<fs>-fieldstatus = '+'. " Input <-- this i added to make the field mandatory.
ENDIF.
READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY
metafield = MMMFD_YYMAN_DES."fd_cust_01.
IF sy-subrc IS INITIAL.
<fs>-fieldstatus = '*'. " Display <-- this one was as per the sample code given.
<fs>-fieldstatus = '+'. " Input <-- this i added to make the field mandatory.
ENDIF.
*ENDIF.
ENDIF.
endmethod. -
Create new tab in header using badi ME_GUI_PO_CUST for tcode ME21N
Dear all,
i have implemented method SUBSCRIBE in ME_GUI_PO_CUST to create new tab in ME21N,
but the tab is not coming
following is the code snips, please tell where is the error, or some setting needs to be done
method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE.
DATA: ls_subscriber LIKE LINE OF re_subscribers.
if sy-tcode eq ' ME21N' OR SY-TCODE EQ 'ME22N' OR SY-TCODE EQ 'ME23N'.
CHECK im_application = 'PO'.
CHECK im_element = 'HEADER'.
CLEAR re_subscribers[].
ls_subscriber-name = 'Customer-Data'.
ls_subscriber-dynpro = '0101'.
ls_subscriber-program = 'SAPLMEGUI'.
ls_subscriber-struct_name = 'MEPO_SUBSCRIBERS'.
ls_subscriber-label = 'Customer Data'.
ls_subscriber-position = 10.
ls_subscriber-height = 7.
APPEND ls_subscriber TO re_subscribers.
ENDIF.
endmethod.
Regards
SumodhHi...I hv similar requirement.
I need to show a custom field in the screen for the items.
I tried using the methods "SUBSCRIBE" and "MAP_DYNPRO_FIELDS" as explained in the sample code.
Below is my code. I have copied the sample code and changed it lil.
Method "SUBSCRIBE":
DATA: ls_subscriber LIKE LINE OF re_subscribers.
we want to add a customer subscreen on the item detail tab
CHECK im_application = 'PO'.
CHECK im_element = 'ITEM'.
each line in re_subscribers generates a subscreen. We add one subscreen in this example
CLEAR re_subscribers[].
the name is a unique identifier for the subscreen and defined in this class definition
ls_subscriber-name = subscreen1.
the dynpro number to use
ls_subscriber-dynpro = '9000'.
the program where the dynpro can be found
ls_subscriber-program = 'SAPLZMMPO1'.
each subscreen needs his own DDIC-Structure
ls_subscriber-struct_name = 'ZMM_PO_CUST_SCREEN'.
a label can be defined
ls_subscriber-label = text-t01.
the position within the tabstrib can be defined
ls_subscriber-position = 13.
the height of the screen can be defined here. Currently we suport two screen sizes:
value <= 7 a sevel line subscreen
value > 7 a 16 line subscreen
ls_subscriber-height = 7.
APPEND ls_subscriber TO re_subscribers.
method "MAP_DYNPRO_FIELDS":
FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
*- customer fields
CONSTANTS: mmmfd_cust_01 TYPE mmpur_metafield VALUE 90000000.
LOOP AT ch_mapping ASSIGNING <mapping>.
CASE <mapping>-fieldname.
WHEN 'CLMNO'. <mapping>-metafield = mmmfd_cust_01.
ENDCASE.
ENDLOOP.
I created a function group - "ZMMPO1" and created the subscreen 9000 in that. I placed the custom field in that screen. Tha main program of ZMMPO1 is "SAPLZMMPO1".
I created a structure also - "ZMM_PO_CUST_SCREEN".
I want to know whether this is sufficient to display the tab on the screen or am I missing something.
It is mentioned that the implementation of "ME_PROCESS_PO_CUST" is a pre-requisite.
could you lemme know the process please.
Thanks,
Ram. -
Custom screen not displaying using BADI ME_GUI_PO_CUST
Hello Experts,
I was working on BAD ME_GUI_PO_CUST to add custom subscreen on header
I have created a subscreen ZNRD_SAPMEGUI_PO with number 9999.
I have created implementation of ME_GUI_PO_CUST as ZME_GUI_PO_CUST.
I have added screen details to the BADI.as follows
CALLPROGRAM = SAPLMEGUI.
Scr No = 1102
Subscreen area = TABSTRIPCONTROL2SUB
Program called = ZNRD_SAPMEGUI_PO
Scr no = 9999.
Now to the method SUBSCRIBE to the implemented BADI ZME_GUI_PO_CUST
I have wriiten the following codes.
method if_ex_me_gui_po_cust~subscribe.
data: ls_subscriber like line of re_subscribers.
if sy-tcode eq ' ME21N' or sy-tcode eq 'ME22N' or sy-tcode eq 'ME23N'.
check im_application = 'PO'.
check im_element = 'HEADER'.
* CLEAR re_subscribers[].
ls_subscriber-name = 'ZNRD_SAPMEGUI_PO'.
ls_subscriber-dynpro = '9999'.
ls_subscriber-program = 'SAPLMEGUI'.
*ls_subscriber-struct_name = 'MEPO_SUBSCRIBERS'.
ls_subscriber-label = 'Customer Data'.
ls_subscriber-position = 10.
ls_subscriber-height = 7.
append ls_subscriber to re_subscribers.
endif.
endmethod.
BADI is active
Now when irun ME21N i dont see the additional custom tab on header coming up.
Please guide will be appreciated.
Regards,
RanjithHi
I have been through the documentation friends still I am unable to go ahead thats the I am seeking your help.
Please guide.
Shailaja could you please explain why do i need to use the user-exit MM06E005 when I am using the BADI.
Regards,
Ranjith N -
Unable to add custom SOAP header to consumer webservice in CRM( without using PI)
Hello Experts,
We have a requirement to consume webservice proxy in CRM without involving PI. We have WSDL file which has many services as depicted in the first screenshot.After checking old posts, I could add custom SOAP header by using if_wsprotocol_ws_header and there is no xml parsing error for ws_header.Have used if_ixml_stream_factory to check xml parsing error for header.
'<soapenv:Header>'
'<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">'
'<wsse:UsernameToken wsu:Id="UsernameToken-2">'
'<wsse:Username>user id</wsse:Username>'
'<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">paswd</wsse:Password>'
'<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">MT0B9XFzsZJXXKmVKOsj/Q==</wsse:Nonce>'
'<wsu:Created>2015-03-30T06:29:17.407Z</wsu:Created>'
'</wsse:UsernameToken>'
'</wsse:Security>'
'</soapenv:Header>' INTO l_string.
But when my ABAP program as a whole gets executed where consumer proxy is called, then it still throws XML parsing error - undeclared namespace prefix. As mentioned, there is no parsing error for header and WSDL file as a whole in SOAP UI tool works fine,by manually adding SOAP header.
Have configured SOAMANAGER with logical port.Or any wrong setting in SOAMANAGER can cause this issue? When I tested webservice ping, it gave me attached error but I read in a SAP note that such error can be ignored.
I want to know if some more setting/coding is required if we manually add custom header to a payload? Is PI really required to implement this requirement? Payload mapping has to be done to add custom header and if that can be taken care by ABAP coding and how?
Can you please help?
BR,
Nisha VermaHello Experts,
I have not found the solution yet.
Can anyone provide some insight??
BR,
Nisha Verma -
Hi
I have to add custom tab in qm01, qm02 , so that fields added
on screen exit
SAPLIQS0 7790 USER0001 SAPLXQQM 0100
should appear on that tab.
how to do that?
regards
subhanshuHi,
If you have create a proj in CMOD and activated the screen the new tab should be avaliable if it is not it might need some customizing try like below:
Transaction AOLK>>Select your Asset class click on General Assignment of Layout
Go to transaction AOLA. Copy the tab layout u2018SAPu2019 to create another layout, say, ZSAP.
System will copy all the settings and will inform you about that.
Select your newly created layout and double-click on the folder u2018Tab page titlesu2019.
You want to put your custom fields in the tab page u201CGeneralu201D. So, select this tab page entry and double-click on the folder "Position of Groups".
Here, all the field groups currently residing in the tab-page u201CGeneralu201D are shown. Add an entry for your newly created fields.
Select the group box from the list. An entry will come with u201CUu201D padded with the custom subscreen prepared by you.
Then, save and come out.
Now, go to tcode AOLK and assign tab layout ZSAP. for asset class 1000.
check now.
Regards,
Himanshu -
Additional tab at header level in ME21N through BADI ME_GUI_PO_CUST
Hi,
I want to have additional tab at header level in ME21n through BADI ME_GUI_PO_CUST. But after all effort I am not getting display of tab. Let me explain what i did till now
1. Appended table EKKO with field
2. Create one function Group -under that
A. Created one Include u2013Paste the code given
DATA: call_subscreen TYPE sy-dynnr,
call_prog TYPE sy-repid,
call_view TYPE REF TO cl_screen_view_mm,
call_view_stack TYPE REF TO cl_screen_view_mm OCCURS 0,
global_framework TYPE REF TO cl_framework_mm,
global_help_view TYPE REF TO cl_screen_view_mm,
global_help_prog TYPE sy-repid.
FORM SET_SUBSCREEN_AND_PROG *
--> DYNNR *
--> PROG *
--> VIEW *
--> TO *
--> CL_SCREEN_VIEW_MM *
FORM set_subscreen_and_prog USING dynnr TYPE sy-dynnr
prog TYPE sy-repid
view TYPE REF TO cl_screen_view_mm.
call_subscreen = dynnr.
call_prog = prog.
call_view = view.
ENDFORM. "set_subscreen_and_prog
B. Created one screen (9000)
3. Implemented BADI ME_GUI_PO_CUST and paste the code.
data: ls_subscribe like line of re_subscribers.
CHECK im_application = 'PO'.
CHECK im_element = 'HEADER'.
CLEAR re_subscribers[].
ls_subscribe-name = ' ZMMSCR1'.
ls_subscribe-dynpro = '9000'.
ls_subscribe-program = ' ZMMSCR1'.
ls_subscribe-struct_name = 'EKKO'.
ls_subscribe-label = text-001..
ls_subscribe-position = 15.
ls_subscribe-height = 7.
append ls_subscribe to re_subscribers.
Please help me what s going wrong .and what else I will do to get success.
Edited by: Vishal A Vijaywargia on Jul 29, 2009 2:24 AMHi Prosengit,
I am not aure about u r BADI,
BUt last week i have custom tab in the PO header data using this enahncement 'MM06E005'.
IN thi senhancement u have thrre screen exits.In this enhancement
SAPMM06E 0111 CUSTSCR1 SAPLXM06 0111 Subscreen: PO item
u can add subscreen and u can add u r own fields here .
and u can write u r code in 'EXIT_SAPMM06E_006'.
if u want to change the title of the program.
Go to program SAPLXM06 then go to text element give text symbol no as '111' and u can change the title of u r tab.
I hope this solves u r problem. -
Problem - Customer tab in ME21n
Hello experts,
I have seveal customer tabs in ME21/2/3n using ME_GUI_PO_CUST.
I can see them in ME22/3 properly.
The problem is that in ME21n I can see them only after i fill in one of the fields in the original tabs.
I tried to debbug it but it seem to work the same as ME22n.
Any ideas?
regards,
Ronen.Hello experts,
I have seveal customer tabs in ME21/2/3n using ME_GUI_PO_CUST.
I can see them in ME22/3 properly.
The problem is that in ME21n I can see them only after i fill in one of the fields in the original tabs.
I tried to debbug it but it seem to work the same as ME22n.
Any ideas?
regards,
Ronen. -
How to create new tab in Me21N using enhancement MM06E005
Hi All,
Can u guys please tell me know to create a new tab at item level in purhcase order ME21N using enhancement MM06E005.
Thanks in advance.
Thanks,
Jaffer Ali.SPlease search the forum:
addition of new tab (reasons) on me21n (item level)
Re: Adding a new Tab - ME22n - Item Detail Level -
Require new tab at header level in ME21N using BADI
Hi All,
My requirement is add new tab with 8 new fields plus one button. On pressing this button header data need to copy at item detail level. I found two BADI's for that.
ME_GUI_PO_CUST & ME_PROCESS_PO_CUST. Till now I am able to create new tab with require fields.
Now help to put how to transfer data from header level to item detail level on pressing newly created push button.
Also tell me how these data will save in EKKO table.Hi Vikas,
hOPE U CAN USE
PROCESS_HEADER
PROCESS_ITEM methods of the badi used and the data will be stored in EKKO table if u populate them .
let me know if any issues ....
regards -
Additinal Tab in ME21N using MM06E005
Hi,
I have to add an aditional tab at the header level to the already existing 9 tabs with text as 'Vendor Acceptance' and the subscreen should contain a Check box with 'Vendor Acceptance' as text. I went through many threads in SDN of which some
suggested Badi others User Exit MM06E005. Please let me know the steps using User Exit MM06E005.
In User Exit MM06E005
I added one field in CI_EKKODB.
In Screen Areas
When I am double clicking on 0111 ,it asked for Access Key and its just showing a message 'Function Group XM06 Changed' after taking the access key. Its also giving message 'User SAP does not exist'.
SAPMM06E 0101 CUSTSCR1 SAPLXM06 0101
SAPMM06E 0111 CUSTSCR1 SAPLXM06 0111
SAPMM06E 0201 CUSTSCR1 SAPLXM06 0201
Through SE51 , when i check for SAPMM06E 0111 , its graphical layout didnt contain screen containing tabs.
Through SE51 , when i check for SAPLXM06 0111, its saying progam and screen doesnt exist.
Please let me know in which screen i have to add additonal tab and for this i have to take access key or not?
Thanks
K SrinivasHi,
When you create the screen as subscreen and activate the same and create a project in CMOD and assign the enhancment to it and activate the project are you getting the tab or not....Please search SCN you will find a lot of threads on the whole procedure also google would be a good option.
Hope it helps
Regards,
Himanshu -
Add custom tab in Asset Master
Dear Experts,
I would like to add a custom tab in asset master (AS01, AS02, AS03).
I have read through the documentation for enhancement AIST0002, but still don't know how to do it.
Can anyone please advise? Thanks a lot.Hi,
If you have create a proj in CMOD and activated the screen the new tab should be avaliable if it is not it might need some customizing try like below:
Transaction AOLK>>Select your Asset class click on General Assignment of Layout
Go to transaction AOLA. Copy the tab layout u2018SAPu2019 to create another layout, say, ZSAP.
System will copy all the settings and will inform you about that.
Select your newly created layout and double-click on the folder u2018Tab page titlesu2019.
You want to put your custom fields in the tab page u201CGeneralu201D. So, select this tab page entry and double-click on the folder "Position of Groups".
Here, all the field groups currently residing in the tab-page u201CGeneralu201D are shown. Add an entry for your newly created fields.
Select the group box from the list. An entry will come with u201CUu201D padded with the custom subscreen prepared by you.
Then, save and come out.
Now, go to tcode AOLK and assign tab layout ZSAP. for asset class 1000.
check now.
Regards,
Himanshu -
Add customized fields in ME21N item overview.
Hi experts,
Can we insert our own customized fields into ME21N item overview section.
Pls advise.
Thanks and regards,
Simonksh.hi,
Yes, you can do it with the help of ABAP consultant...
Pls check whether you are providing all links to the tables for that customised field...For this all coding is required to be done...
Also check:
MM06E005 - Customer fields in purchasing documents
Its an intensive work...
Hope it helps..
Regards
Priyanka.P -
How To Add Custom Tab To ListView Only
I have the following custom action elements.xml snippet that is supposed to only display my custom tab and custom action button on the ListView.
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="MYCUSTOMSOLUTIONRibbonTab"
Location="CommandUI.Ribbon.ListView"
RegistrationType="ContentType"
RegistrationId="0x010014D754C688D12A4FB4C811B4B4F67A5C"
Sequence="0"
Rights="ViewListItems">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.List.Share.Controls._children">
<Tab
Id="Ribbon.MYCUSTOMSOLUTION"
But when I click on the list item and it displays the modal dialog for the list item I see that the tab is also visible on the DisplayForm for the item.
How can I display the custom tab on the list view only?Hi,
The reason of this issue could related to the some settings of the custom action element.
The workaround above also work for SharePoint 2010.
Here is a detailed code demo works fine in my environment:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="MyCustomRibbonTab"
Location="CommandUI.Ribbon.ListView"
RegistrationId="100"
RegistrationType="List">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.Tabs._children">
<Tab
Id="Ribbon.CustomTabExample"
Title="My Custom Tab"
Description="This holds my custom commands!"
Sequence="501">
<Scaling
Id="Ribbon.CustomTabExample.Scaling">
<MaxSize
Id="Ribbon.CustomTabExample.MaxSize"
GroupId="Ribbon.CustomTabExample.CustomGroupExample"
Size="OneLargeTwoMedium"/>
<Scale
Id="Ribbon.CustomTabExample.Scaling.CustomTabScaling"
GroupId="Ribbon.CustomTabExample.CustomGroupExample"
Size="OneLargeTwoMedium" />
</Scaling>
<Groups Id="Ribbon.CustomTabExample.Groups">
<Group
Id="Ribbon.CustomTabExample.CustomGroupExample"
Description="This is a custom group!"
Title="Custom Group"
Sequence="52"
Template="Ribbon.Templates.CustomTemplateExample">
<Controls Id="Ribbon.CustomTabExample.CustomGroupExample.Controls">
<Button
Id="Ribbon.CustomTabExample.CustomGroupExample.HelloWorld"
Command="CustomTabExample.HelloWorldCommand"
Sequence="15"
Description="Says hello to the World!"
LabelText="Hello, World!"
TemplateAlias="cust1"/>
<Button
Id="Ribbon.CustomTabExample.CustomGroupExample.GoodbyeWorld"
Command="CustomTabExample.GoodbyeWorldCommand"
Sequence="17"
Description="Says good-bye to the World!"
LabelText="Good-bye, World!"
TemplateAlias="cust2"/>
<Button
Id="Ribbon.CustomTabExample.CustomGroupExample.LoveWorld"
Command="CustomTabExample.LoveWorldCommand"
Sequence="19"
Description="Says I love the World!"
LabelText="I love you, World!"
TemplateAlias="cust3"/>
</Controls>
</Group>
</Groups>
</Tab>
</CommandUIDefinition>
<CommandUIDefinition Location="Ribbon.Templates._children">
<GroupTemplate Id="Ribbon.Templates.CustomTemplateExample">
<Layout
Title="OneLargeTwoMedium"
LayoutTitle="OneLargeTwoMedium">
<Section Alignment="Top" Type="OneRow">
<Row>
<ControlRef DisplayMode="Large" TemplateAlias="cust1" />
</Row>
</Section>
<Section Alignment="Top" Type="TwoRow">
<Row>
<ControlRef DisplayMode="Medium" TemplateAlias="cust2" />
</Row>
<Row>
<ControlRef DisplayMode="Medium" TemplateAlias="cust3" />
</Row>
</Section>
</Layout>
</GroupTemplate>
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler
Command="CustomTabExample.HelloWorldCommand"
CommandAction="javascript:alert('Hello, world!');" />
<CommandUIHandler
Command="CustomTabExample.GoodbyeWorldCommand"
CommandAction="javascript:alert('Good-bye, world!');" />
<CommandUIHandler
Command="CustomTabExample.LoveWorldCommand"
CommandAction="javascript:alert('I love you, world!');" />
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
</Elements>
Here is a detailed article for your reference:
https://msdn.microsoft.com/en-us/library/office/ff407250%28v=office.14%29.aspx
Thanks
Best Regards
Forum Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
[email protected].
Jerry Guo
TechNet Community Support -
Create/add custom tab at RFx?
Hello experts, I want to know how to create a custom TAB at RFX in SRM 7.0.
Thanks in advance
Best Regards
Liamhello,
Please check an example of SC custom tab in link below.
table extension in SC in SRM7.0
regards,
Neelima
Maybe you are looking for
-
Hi, how can I add a row above a certain row in Numbers? I'm trying to insert a row right at the top of my table. Thanks p.
-
I have an older Mac, prob 2007/early 2008. I've got OS 10.5.8 installed. For the last couple months, I haven't been able to recognize my iomega HD. It used to work with time machine, had it set to run on a weekly basis if there were changes, and t
-
List Business Services Endpoints with WLST
Hi, We're using OSB 11.1.1.3 and 11.1.1.6 in several environments. We just need to use wlst scripting to keep track of all business services and their endpoint uri's automatically. We tried using some old scripts but found out that they don't work on
-
I cant watch my downloaded tv shows
I purchased a tv show and I sync'ed it with my ipad. Now, I cant find the tv show to watch it on my ipad. I went to the "videos" app (as suggested in other discussions) but the only thing to show up is "shared." The things that are "shared" are old m
-
Blu-Ray in Final Cut works well but,
Hello Folks, I burned a Blu-Ray disc of a 17 min movie. It worked and looked great however I noticed when I changed the speed or the direction of the video in Final Cut, it burned to Blu-Ray pretty poorly. (Jumpy, slight freezes, etc) Any suggestions