Better approach for adding a new assignment block in a standard component
Hi
I need to add a new assignment block in the standard component bt116h_srvo. There are two approaches :
1. create a new view in the component bt116h_srvo
2. create a custom component and embed it into bt116h_srvo using component usage.
Please tell which one is a better approach and why ??
Thanks,
Swati.
Thanks for the quick reply lakshmi. However I am sure there is no possibility of reuse . My main concern here is tat will patch upgradation in future would have any impact on the views added directly in standard component or any other risk in adding view directly.
Rgds,
Swati
Similar Messages
-
Hello Experts,
I need to add/create a new assignment block 'Strategy Plan ' similar to existing assignment block 'Attachment'
in Account screen.
I got the document which suggest creation of new assignment block by creating Set Type and attribute.
But can't figure out how to make that assignment block similar to existing one 'Attachment'.
Please help me how to proceed .
Thanks in Advance,
RamHi Arun,
I did exactly how you said.
Opened the Component BP_HEAD in Enhancement set 'Z_ENHANCE'.
Added the component usage 'ZStrategy' their inbound plugs and outbound plugs
similar to one used by Attachment assignment block.
Added the View 'ZStrategy.MainWindow' under viewarea 'OverviewPage'
of ViewSet 'BP_HEAD/BPHEADOverveiw'.
Also Initialized the component usage in WD_USAGE_INITIALIZE of component controller.
But When I see the assignment block in WebUI.
I see simple window with no toolbars in it. Also It disapears when expanded.
I gives error like "CX_BSP_WD_INCORRECT_IMPLEMENT - Define component usage 'ZStrategy'
CX_BSP_WD_INCORRECT_IMPLEMENT - Define component usage 'ZPlanStrategy' "
I think I missed some steps or may be my enhancement set is not loading.
Help me out.
Thanks and Regards,
Ram -
How to add new assignment block in opportunity
Hi,Experts.
I'm a beginer of SAP CRM.
I need to add/create a new assignment block similar to existing assignment block 'Details'
and display enhancement items in Opportunity screen with SAP crm 2007.
I have created new view using Wizard in BSP_WD_CMPWB and added it in WebUI.
I can input the item of added assignment block when creating new transaction.
However updating the existing one, the item does not replaced by input mode
even if I push the EDIT button.
Is any coding necessary? My process was wrong?
Could you please help me out.
Thanks,Hi ,
For your issue , in the view/viewset impl class where the edit button is placed , redefine the method SET_VIEW_GROUP_CONTEXT and create an instance
IF iv_first_time EQ abap_true AND view_group_context IS INITIAL.
IF iv_parent_context IS INITIAL.
CREATE OBJECT view_group_context
TYPE
cl_bsp_wd_view_group_context.
ELSE.
view_group_context ?= iv_parent_context.
ENDIF.
ENDIF.
Then in the event handler of the edit button make the view editable
me->view_group_context->set_all_editable( ).
Then in the .htm of the view , in the chtmlb tag ,
displayMode = "<%= controller->view_group_context->is_view_in_display_mode( controller )
Please try this..This will work.. If so, plz award points -
Hi,
I'm trying to create a new assignment block on an Overview page. Here are the steps that I followed:
1) BSP_WD_COMPOMENT->Navigate to component->Create view set->Create view(Table view type for a Value node with a Z table).
2) Runtime Repository->Added the view set Create above.
3)Runtime Repository->Add the View created into the viewset.
4)Runtime Repository->Add Viewset into the Overview page viewset.
Now, I was hoping to the see the above created view in the available assignment blocks list. But, I do not see it. Please guide me as to how will I be able to add the assignment block.
ThanksHello Sreesanth,
Please check out the following [thread|Creating an overview page with content; where I described the steps necessary to add new assignment block to the overview page.
I hope it helps.
Best Regards,
Yevgen -
Hello everyone,
I am new in the topic SAP CRM Web Client and I have to create a new assignment block for the accounts site.
In this assignment block you should see the last ten orders of the account. I already have the code to get the data from the tables. But I have no idea how to show this in a new assignment block. Can anybody help me, please? Or do you know a good document, where the process is described?
I have the book SAP CRM Web Client Customizing and Development. So I've understood the basics. But it was not really helpful for my project.
So help me, please.
Thanks and regards,
StefanieStefanie,
Assignment block is nothing but a view. So you need to create one view with view type as Table view. Columns of the table would be the value attributes of the view. Write the population logic in ON_NEW_FOCUS method of the CNxx class associated with the view you created.
You can refer following code to get the TABLE View populated -->
data: lr_wrapper type ref to cl_bsp_wd_collection_wrapper, " BP collection wrapper
lr_entity type ref to if_bol_bo_property_access, " wrapper entity
lv_bp_nr type string, " BP (business partner) number as string
lv_partner type bu_partner, " BP number in correct format (for RFC call)
ls_smof_erpsh type smof_erpsh, " structure of the RFC destination
lr_col type ref to if_bol_bo_col, " collection to fill node ZBP_FAVS
lr_valuenode type ref to cl_bsp_wd_value_node, " value nodes to fill a collection
lr_tabline type ref to zbp_favs_s, " table line reference to fill value node
lt_favs type zbp_favs_tab, " local table with data from ERP-table ZBP_FAVS
ls_favs type zbp_favs_s. " local structure of table above
get partner entity and partner number
try.
lr_entity ?= focus_bo.
catch cx_sy_move_cast_error.
return.
endtry.
lv_bp_nr = lr_entity->get_property_as_string( 'BP_NUMBER' ).
if lv_bp_nr is initial. " no partner...
return. "...return without selection
endif.
get RFC destination of ERP system, if needed
if ZL_ZBP_FAVS_ZBPFAVORITES_IMPL=>gv_destination is initial.
call function 'CRM_GET_ERP_SYSTEM'
exporting
iv_rfcdest =
iv_siteid =
importing
es_smof_erpsh = ls_smof_erpsh.
if sy-subrc = 0 and ls_smof_erpsh-rfcdest is not initial.
ZL_ZBP_CUCL_ZCURRENCYCLAU_IMPL=>gv_destination = ls_smof_erpsh-rfcdest.
endif.
endif.
get favorite things for partner
lv_partner = lv_bp_nr. " call RFC function in ERP system
call function 'Z_CRM_GET_FAVS_FOR_BP'
destination ZL_ZBP_CUCL_ZCURRENCYCLAU_IMPL=>gv_destination
exporting
iv_partner = lv_partner
importing
et_favs = lt_favs
exceptions
others = 4.
if sy-subrc <> 0.
" should never happen
endif.
create collection object to transfer data
create object lr_col
type
cl_crm_bol_bo_col.
loop through all found data...
loop at lt_favs into ls_favs.
"...create line object
create data lr_tabline.
"...create value object with current line for colleciton
create object lr_valuenode
exporting
iv_data_ref = lr_tabline.
"...set current line data
lr_valuenode->set_properties( ls_favs ).
"...add current line to collection
lr_col->add( lr_valuenode ).
endloop.
set collection
me->set_collection( lr_col ). -
Adding new assignment block in the sales order component
Hi ,
In sales order , qty filed is available at line item general details level .now my requirment, the qty field has to display in the new assinment block. i am thinking to create new view and context node in the same component and ii will add this view to SOItemOV page . Please guide me this approach is correct or not.Dear Venky,
Refer to this [WIKI|http://wiki.sdn.sap.com/wiki/display/CRM/Howtodisplayaz-tableinanassignmentblock] for help.
Thanks
Vishal -
Steps for adding a new attribute
Please let me know if the below steps are correct
=================================================
I have an Infoobject called 0XXXX in BW and want to add another attribute called XXX_TYPE.
This infoobject is used in 2 Info Cubes and a Multiprovider. Also in 3 queries.
In R/3 the info I need is stored in a Table(XYZ). Please let me know if the below steps are correct and all I need
1) Create a generic extractor to pull the data from XYZ table (Like an ABAP program) .. This is the part which I am not clear !!!
2) Modify 0XXXX in BW to add this new navigational attribute
3) Load Master data using process chain
4) Re activate all update rules
5) Change Infoprovider's for the new attribute (How to do that ??)
6) Change query (What changes will I need to make .. Just select this attribute field into the required query)
Please helpHello,
As you said, either enhance the extract structure by adding this new InfoObject and then write the code in the user-exit.
Or if the SAP table has the Key fields of the InfoObject, then create a generic extractor. Create a view by including the key fields of the InfoObject and the new attribute InfoOBject for which data has to be derived from this. Use this view or the table itself for the extractor.
Create new InfoSOurce for the InfoObject which will only update the new InfoObject. Keep only transfer rules for the Key InfoObjects and the new InfoObject.
GSM. -
Better approach for checking column values between two different rows
My requirement is to find best Approach to find difference between column values of two different rows.Below I've mentioned two different
approaches I'm thinking of,but I'd like to know is there any other better approach.
version details
SQL> SELECT *
2 FROM V$VERSION;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for Solaris: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - ProductionTable creation script
CREATE TABLE R_DUMMY
(CA_ID VARCHAR2(16) NOT NULL ENABLE,
CA_VER_NUM NUMBER(4,2) NOT NULL ENABLE,
BRWR_SHORT_NAME VARCHAR2(25 CHAR),
sic_code number,
FAC_ID VARCHAR2(10) NOT NULL ENABLE
/ insert script
insert into r_dummy (CA_ID, CA_VER_NUM, BRWR_SHORT_NAME, sic_code, FAC_ID)
values ('CA2001/11/0002', 2.00, 'Nandu',1234, 'FA000008');
insert into r_dummy (CA_ID, CA_VER_NUM, BRWR_SHORT_NAME, sic_code, FAC_ID)
values ('CA2001/11/0002', 3.00, 'SHIJU',456, 'FA000008');Desired O/P :
ca_id fac_id column_name previous name after_modification
CA2001/11/0002 FA000008 BRWR_SHORT_NAME Nandu SHIJU
CA2001/11/0002 FA000008 sic_code 1234 456My approach
select ca_id,fac_id,column_name,
decode(column_name,'BRWR_SHORT_NAME',lg_brwr,lg_sic) previous_name ,
decode(column_name,'BRWR_SHORT_NAME',ld_brwr,ld_sic) after_modification
from
select
case
when ld_brwr != lg_brwr then
'BRWR_SHORT_NAME'
when ld_brwr != lg_brwr then
'sic_code'
end
) column_name,ca_id,fac_id,lg_brwr,ld_brwr,ld_sic,lg_sic
from (
select ca_id,fac_id,lag_brwr,ld_brwr,ld_sic,lag_sic
from
Select lead(brwr_short_name,1) over(partition by ca_id,fac_id) ld_brwr,
lag(brwr_short_name,1) over(partition by ca_id,fac_id) lg_brwr,
lead(sic_code,1) over(partition by ca_id,fac_id) ld_sic,
lag(sic_code,1) over(partition by ca_id,fac_id) lg_sic,
ca_id,fac_id
from r_dummy
where (ld_brwr != lg_brwr or ld_sic != lg_sic)
)2nd Approach :
=============
select ca_id,fac_id,column_name,
decode(column_name,'BRWR_SHORT_NAME',lg_brwr,lg_sic) previous_name ,
decode(column_name,'BRWR_SHORT_NAME',ld_brwr,ld_sic) after_modification
from
select
case
when ld_brwr != lg_brwr then
'BRWR_SHORT_NAME'
when ld_brwr != lg_brwr then
'sic_code'
end
) column_name,ca_id,fac_id,lg_brwr,ld_brwr,ld_sic,lg_sic
from (
select ca_id,fac_id,brwr_short_name,sic_code
from
Select ca_id,fac_id,brwr_short_name lg_brwr,sic_code lg_sic
from r_dummy
where ca_ver_num = '2.00'
)o,(
Select ca_id,fac_id,brwr_short_name ld_brwr,sic_code ld_sic
from r_dummy
where ca_ver_num = '3.00'
)n
where 0.ca_id = n.ca_id
and 0.fac_id = n.fac_id
and (ld_brwr != lg_brwr or ld_sic != lg_sic)
)Hi Experts,
I've provided sample data where I'm checking for just two columns viz brwr_short_name ,sic_code,but in real time
I've to check for 8 more columns so please suggest me with a better approach.
I appreciate your precious suggestions.Hi,
Thanks for posting the CREATE TABLE and INSERT statements; that really helps!
Here's one wa. Like your 2nd approach, this uses a self-join:
WITH got_r_num AS
SELECT ca_id
, ROW_NUMBER () OVER ( PARTITION BY ca_id
, fac_id
ORDER BY ca_ver_num
) AS r_num
, brwr_short_name
, TO_CHAR (sic_code) AS sic_code
, fac_id
-- , ... -- Other columns (using TO_CHAR if needed)
FROM r_dummy
, unpivoted_data AS
SELECT *
FROM got_r_num
UNPIVOT INCLUDE NULLS
( txt
FOR column_name IN ( brwr_short_name AS 'BRWR_SHORT_NAME'
, sic_code AS 'SIC_CODE'
-- , ... -- Other columns
SELECT p.ca_id
, p.fac_id
, p.column_name
, p.txt AS previous_name
, a.txt AS after_modification
FROM unpivoted_data p
JOIN unpivoted_data a ON p.ca_id = a.ca_id
AND p.fac_id = a.fac_id
AND p.column_name = a.column_name
AND p.r_num = a.r_num - 1
AND p.txt || 'X' != a.txt || 'X'
ORDER BY a.r_num
;To include other columns, add them in the 2 places where I put the comment "Other columns".
Ca_ver_num can have any values, not just 2.00 and 3.00.
This will show cases where a value in one of the columns changed to NULL, or where NULL changed to a value.
There ought to be a way to do this without a separate sub-query like got_r_num. According to the SQL Language manual, you can put expressions in the UPIVOT ... IN list, but when I tried
... UNPIVOT INCLUDE NULLS
( txt
FOR column_name IN ( brwr_short_name AS 'BRWR_SHORT_NAME'
, TO_CHAR (sic_code) AS 'SIC_CODE'
)I got the error "ORA_00917: missing comma" right after TO_CHAR. Perhaps someone else can show how to eliminate one of the sub-queries. -
Looking for beta testers for Nutsmail's new i:theme
Hello all. Nutsmail is about to release new skins/themes made especially for Snow Leopard Server. We're looking for a certain number of beta testers for this product.
All in interested please get in touch with us via the contact form on the Nutsmail site at http://nutsmail.com/contact.html
Please specify your interest in beta testing the i:themes.
Looking forward to hearing from you.Hello again. I forgot to mention that these will be skins/themes for Squirrelmail running on OSX server.
Here are some screenshots so you can see what they look like:
http://nutsmail.com/screenshots/iSkin1.png
http://nutsmail.com/screenshots/iSkin2.png
http://nutsmail.com/screenshots/login1.png
http://nutsmail.com/screenshots/login2.png
http://nutsmail.com/screenshots/login1.png
http://nutsmail.com/screenshots/login3.png
http://nutsmail.com/screenshots/login4.png
If you are interested in beta testing please get in touch with us via the contact form on the Nutsmail site at http://nutsmail.com/contact.html -
Better approach for storing Messages ?
Hello all,
I am developing a Email module which does resembles yahoo or hotmail.
To my understanding POP3 dosn't support Folder creation and IMAP does. But, i have to go for POP3 only.
SO, i thought that i have to go for storing it in database(Message Object) as Byte array.
so, i have created sent fodler, save folder, draft and custom folders all in database for storing all this message as javax.mail.Message object.
Since i can't store Message object i have created a wraper class which implemets serialization.
Now my questions is
1. is my approach for folder with database is correct ?
2. if yes, then is it good to store Wraper class as a hole in database. or can i go for divinding the message into parts and store invidualy in database.
3. if my approach is wrong then how can i go about ?
awaiting for everybody's reply
dinaWhen through your thinking before :)
The correct way is to save Message object to disk, i.e cache so we
don't read from server. To save to database is your choice but it's
extra overhead. And if you intend client is going to install the
program on their desktop, database is out of the question.
The secret is making a simple database design as explain below, like
Microsoft outlook.pst or look at Netscape cache folders to see their
design too. Similar...
Message object is not savable, i.e not implemting serialization but
their is a way to save the mail messages to disk.
We use the writeTo method of MimeMessage class to save the whole
email, including attachments as one whole object stream.
I use one file for each mail folder, like Microsoft and Netscape does..
The reason is we might want to copy the whole inbox, which in effect
is copying the one file to another folder for backup etc...
Same reason for compressions
So you might ask, one file, that inefficient isn't it?
Not really it's how you design it.
Your mail file should have lookup keys of message id's of your message
objects. Hence, with message id in a file one can get the ObjectOutputStream in a file with a simple lookup. We use object output
stream as message class writeTo, writes to output stream, and using
ObjectOutputStream to store and retrieve makes a whole lot of sense.
The cahce mail storage should be using a RandomAccessFile and their
are package classes you can download from JavaWorld to have access
to writing and reading object streams from a file using the random
access file. So no need to worry about database as it does the
hard work for you. Search for RandomAccessFile in JavaWorld and
dowload that package.
RandomeAccessFile class is quite differently to other IO classes as
it does fast seeking, i.e the file points to different positions of
the file very quickly. Even if you inbox file is 70 megs big, it can
still handle it very quickly.
This should help you clear most of the design problems that I also
ponder for quite some time -
For Adding up New Line in existing PO
Hi,
I have created PO through Import Standard Purchase Order and now client requires to add more line into existing approved PO which has been migrated through interface table.So,I wanted to know what necessary steps I need to follow for adding lines into existing purachse order.I tried to update action column as 'ADD' in po_headers_interface table but everytime records is being rejectd.
Please help me if anybody knows the solution.
Regards
DShi,
you want to do change PO, if it is the case, oracle has provided public APIs to do the changes. for details you can refer manufacturing api's and po interface tables pdf docs.
sen -
Notes long text assignment block in service request component
Hi,
In Service Request , i am seeing notes assignment block . its custom one which has been created by using SRQM_NOTES as component usage in SRQM_INCIDENT_H.
Every thing works good, the notes entered in that assignment block is stored in ZS01 text id of the service request.
My requirement is to change that text id to ZS02. I mean text entered in the assingment block should be stored in ZS02 text id of the service request.
I have checked all the methods of SRQM_NOTES and SRQM_INCIDENT_H to check the code(code for updating to ZS01 text id) but i could not see that.
Could you please let me know your suggestions.
Best Regards
RajeshHi,
If you set the position to 0 it will move to the 0 position not hide it
Regards
Vishal -
XP 64bit Beta OS for AMD64 - old news?
I'm a 64-bit wannabe, maybe old news, came across this link to get Free *Beta* downloads of either Windows XP 64-BIT Windows Server OR desktop for AMD64, download {90 minutes on DSL} here
I'm learning what i need for my build reading the boards, decided to wait a few months for the socket 939's, PCIExpress, etc, but gee whiz . . .
RexBGeez SAB, did i really say that, i'm a dunderhead! Howlongagodidiwritethat,omigawdanybodyelseseenit?
Thanks, I added them to "Da List". As i'm digging in reviews and comparison matching and blahblahblah and wasting my meager 56k{42k} bandwidth {waaaa No hi-speed out here in the stix, satellite is price-gouging}
The quote "K8T800 PRO might give you more BIOS options or CPU speed" endquote. What does 'might' mean. If the board gets mad at me it won't give me all it's options?
Don't laugh, some of this stuff is smoke & mirrors. Yes, there is a possibility that shamans have an 'in' to the spirit world, and these "invisible-to-the-naked-eye-millions-of-transistors-and-doped-silicone" might too in their electromagnetic aura {cancer?tumors?}, who knows? I'm not superstitious, just careful about pi***ng the wrong things off.
I'm guessing that cuz i'm not real concerned about advanced graphics or gaming that i wouldn't care if my board was the "K8N for it's AGP/PCI lock". This Anandtech March 23, 2004 test of these chipsets and the N250's predecessor, for what it's worth. Unbelievable the 2nd-to-last last line of 2nd paragraph.
. . .""At launch, there were really just two Athlon 64 chipsets - the nVidia nForce3 150 and VIA K8T800. As we have discussed in reviews of boards based on these chipsets, neither one really meets the specifications that we would like to see in Athlon 64 chipsets. Later, SiS introduced the promising 755 chipset, but no one has brought the kind of 755 boards that we hoped to see to market. In addition, our recent tests of the PCI locks on all 3 Athlon 64 chipsets found that none of them really worked. Given this background, we were more than ready for a new chipset for Athlon 64 that would fix many of the issues.""
Did the K8T800 PRO fix this? blahblahblah then it goes on:
. . .""The non-working PCI lock that we later found on nF3-150 also came as a huge surprise. nVidia tells us, and we did confirm, that the PCI lock does work on the nVidia Reference Board for nF3-150, but they are also aware that it did not work in production nF3-150 motherboards. nVidia assures us that this BIOS programming issue is fixed in nF3-250.""
Can ya' take that to the bank? How many unsuspecting buyerz got that 150 board for the non-functional PCI lock?!?
. . I'm just getting into it, but these are the same chipsets on the market today, two months after the article, right, sans the nF3-150? -
Transaction for adding a new storage location?
Hi All
What is the trx for setting up a new storage location?
Thanks in advance
Darrenhi
OX01 Company Code -> Purchasing Org.
OX02 Customizing: Company Code Setup
OX03 Customizing: Business Area Setup
OX06 Controlling Area: Basic Data
OX08 Define Purchasing Organization
OX09 Customize storage locations
OX10 Customize plant
OX14 C MM-IV Valuation area - val. level
OX15 Define internal trading partner
OX16 Assignment co.code->Internl.trad.ptr
OX17 Plants -> Purchasing organization
OX18 Plants->company code
OX19 Controlling Area: Assgn. to CCode -
Help / Suggestions for Adding a New Computer
My question is really more of an "organization / how should I do this" question.
I currently have a home desktop Mac and various other Apple related products (ipad, iPhone, daughter's Macbook etc.). The Mac is the main home computer and I use it to store all all of my home movies (organized in iMovie) and pictures (organized in iPhoto) as well as my music (iTunes). I back up through Time Machine to a USB hard drive connected to the Mac and I also have a 1TB NAS sitting in the basement which has the music duplicated and which I use for my Sonos.
Here is my question. I am considering getting a new laptop / Macbook and I am starting to get low on space on my desktop Mac. I like having all of my pictures / videos in one place, and I don't want to start adding pictures to my new Macbook (which I don't have yet) and end up with pictures up to a certain point in time on my desktop, and then new pictures / videos on the Macbook.
I am looking for suggestions on how to deal with this. Is there a way of moving all the pictures and video library to the NAS, forcing iPhoto and iMovie on the desktop Mac to access the NAS for the library instead of its hard drive, and then doing the same thing on the new Macbook so that all of my photos and videos sit on the NAS, and both the desktop and the laptop access the NAS for the iMovie / iPhoto library? Any other suggestions to keeping it consolidated and organized?
Thanx in advanceHi @draicous,
I understand the printer is already setup on the network, but the new computer isn't configuring the printer over the network. I can help you today.
I have provided a document for setting up the printer on the new computer over the network.
Installing the Printer Software for a Wireless Network Connection.
Select your operating system and go to Step one: Prepare for installation, number 4.
What operating system are you using? How to Find the Windows Edition and Version on Your Computer.
If you need further assistance, just let me know.
Have a nice day!
Thank You.
Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
Click the “Kudos Thumbs Up" on the right to say “Thanks” for helping!
Gemini02
I work on behalf of HP
Maybe you are looking for
-
Createrow() with some null values for attributes errors out
I am trying to insert rows from one table to another table. I get all the values from source table to be inserted into the destination table and set the row attributes as required. Row newrow = (Row)MAToolingVO.createRow();
-
How to reduce resoluion of bitmapped image
Hello friends i am taking the bitmapped of a canvas a having height 390 and width 234.using that code var snapshot:ImageSnapshot = ImageSnapshot.captureImage(cnvParent); var bdata:String =
-
Tracking previous Cost Center.
Hi- I have a requirement wherein I need to track the previous cost center of the employee based on the AEDTM(date of last change) in IT0001. But I couldnt find how to trace the previous cost center for that record of the employee in IT0001. Any ideas
-
Map deployed but don't see the package in database
Hi I deployed a map that has a flat file as a source and a table as a target. But I don't see the package in database. What object would this kind of map be in the database? Thanks Sozy
-
Does Apple Australia accept bank accounts or paypal? It would be so convenient if they did though.