Need case to implement Solman
Hi,
In our company SAP is already implemented.
There are some projects running on the instance like -
a) setting up new plants and their relevent changes to the respective funtional area ( OM , Procurement etc).
b) retiring an legacy application and implementing theri functionality into SAP.
For such projects we want to use Solman for document repository, org structures etc.
The documents consists of BRDs, ADD, Technical design docs etc.
For the above case what is the best approach of using Solman?
Also let me know if you already implemented case studies for the above scenario.
Regards,
Chandan.
Hi,
I don't know if this answers your question but if you want to document existing business process repository with information on the business processes you use in production , you can use a service like RBE + from IBIS.
SAP also has Solution Documentation Assistant which is supposed to do something like that but I'm not familiar with it.
Once your BPR is setup, all you have to do is put your documents in the appropriate place in SOLAR01.
In my case , I wonder where we should put general documentation like System wide technical architecture documents which is not specific to a business process. Perhaps someone has a suggestion ?
Thierry
Similar Messages
-
Document Types for Case Management Implementation
Hii,
Can any one provide what document types should be used for Case Management Implementation. If possible please describe what is a queue and how it relates to provider group. What is Scripting and how it relates to solution advisor.
Thanks in Advance.
Best Regards!
Deepak Pi got it..for case management..document types will be CAL CL, E-Mail EM, FAX FX, Mail ML. you can create more as per your business needs...
-
Is transport possible w/o implementing Solman Charm
Is transport in satellite system can be managed by solman w/o implementing Solman Charm? If so then how..it can be activated. Thanks in advance for your help.
Hello Dhananjay,
Are you refering to TMS, started with transaction STMS?
That is actually Basis.
However what you might be looking for is CTS+ (Change and Transport System) that can be intergrated with ChaRM, but doesn't need to be.
HEre is a link to best practices for implementing CTS+: http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10456aac-44f7-2a10-1fbe-8b7bcd7bcd58?quicklink=index&overridelayout=true
And here is a link to configuring CTS+ in Solution Manager : /people/dolores.correa/blog/2009/06/05/cts-configuration-in-solution-manager-70-ehp1
Hope this helps you out.
Regards,
Paul -
Functional Consultant Implementation Cook Book to Implement SolMan
Hi
Can anybody tell me where I can find the SolMan consultant implementation cook book. I am basically looking from a functional consultant perpective, the configuration setup that need to be done to implement SolMan, we are implementing CHaRM and Monitoring.
Also I like to ask, what sequence I need to follow to implement the SolMan. Please provide the steps and the documents that I should refer to.
Appreciate your valuable and quick response.
BR- Billthe configuration setup that need to be done to implement SolMan, we are implementing CHaRM and Monitoring
Monitoring requires Basis knowledge and Charm is a CRM scenario
what sequence I need to follow to implement the SolMan.
I would start with Monitoring, Service desk , Charm , Root Cause Analysis (Basis scenario). These are the opertional side of Solman.
Functional side
Implementation of SAP Solutions includes Project Administration, Business Process mapping and Blueprinting etc
refer [http://service.sap.com/solutionmanager]
[http://service.sap.com/rkt-solman]
Hope this helps you
regards
Naveen
Edited by: Naveen Kumar on Nov 25, 2009 7:20 AM -
Need help on implementing the BADI ME_GUI_PO_CUST
Hi All,
As per my requirement I need to do Enhancement for Unloading point field on PO.This filed will get all the department numbers applicable for the site on the line item.
For this I need to Implement the BADI BADI ME_GUI_PO_CUST.
The Method which needs to be Implemented is : TRANSPORT_TO_DYNP.
Instructions have been given for the Screen design.
Can anyone help me (with the sample code how) to Implement this method of the BADI in SE19.
This BADI method is taking a view as an Input and I am not understanding how to proceed.
Thanks and Regards,
Smriti SinghHi,
my suggestion is to check the standard documentation of the interface IF_EX_ME_GUI_PO_CUST.
After that you can check the method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP in the example implementation class CL_EXM_IM_ME_GUI_PO_CUST.
Usefull links:
[Re: Implementing badi ME_GUI_PO_CUST;
[Re: ME21N - PO Enhancement using BADI;
Kind Regards.
Andrea -
Need help on implementing functionalities of solution manager
Hi solution manager gurus, i have to propose a method to implement SOLMAN functionality
Landscape consists of around 15 servers
SAP users 800
typical 3 system DEV-CONS-PRD landscape on all instances
Till now only Upgrade service functionality has been used in SOLMAN, they would like to implement the services below
1. Engagement and Service Delivery u2013 service delivery and issue management
2. System Administrations (Solution Monitoring, Root Cause Analysis, System Diagnostic, including non-SAP IT environments)
3. Implementation/Upgrading SAP Solutions (Scenario Management)
4. Business Process operations (Incident Management, System Landscape (cross IT landscape)
5. Change management (for functional enhancements and updates)
6. Test Management
Can anyone suggest the right approach in implementing those services
also can anyone suggest a rough possible time line in implementing this with rough FTE?Hi,
my suggestion is to check the standard documentation of the interface IF_EX_ME_GUI_PO_CUST.
After that you can check the method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP in the example implementation class CL_EXM_IM_ME_GUI_PO_CUST.
Usefull links:
[Re: Implementing badi ME_GUI_PO_CUST;
[Re: ME21N - PO Enhancement using BADI;
Kind Regards.
Andrea -
Is notes 1170688 needs to be implemented in both BW and R/3?
While executing an infopackage, the error " R3 016 "DataSource &1 has to be replicated (time stamp, see long text)" occurs. After investigation, we found notes 1170688 may fix this problem. After the notes been implemented, we did see the relevant code is changed, but we still cannot extract data.
My question is: Is this notes also need to be implemented in R/3? Currently, we only do this in BW system.Thanks for replying. From the note, we see the affected release are SAP_BW and SAP_BW_VIRTUAL_COMP. Seems not effect to ecc.
Actually, the thing is to implement a notes into R/3 will trigger a complex process in our side even in non-production system. So we just want to make sure if it is fully necessary, then can trigger the process. -
Need Case study of regulatory authority in DWH
I need Case study of regulatory authority / bank / Oil and Gas / Energy etc in DWH.
RegardsCould you please share the case study for muliti-org in oracle 11i E-business suite. Please see these links.
http://bit.ly/UAegf7
https://forums.oracle.com/forums/search.jspa?threadID=&q=MultiOrg&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
Thanks,
Hussein -
[svn] 1074: Fix test case to implement new method in IXMLEncoder
Revision: 1074
Author: [email protected]
Date: 2008-04-02 13:00:45 -0700 (Wed, 02 Apr 2008)
Log Message:
Fix test case to implement new method in IXMLEncoder
Modified Paths:
blazeds/branches/3.0.x/qa/apps/qa-regress/testsuites/flexunit/src/tests/flexunit/wscl/dec oder/SOAPEncoderTestCase.asYear Is Leab Year?
1 no
4 yes
1580 yes
1582 no
1584 yes
1600 yes
1700 no
1800 no
1900 no
1996 yes
1997 no
1999 no
2000 yes
2100 no
2200 no
2300 no
2400 yes
2800 yes
2900 no
3200 yes
3300 no
3600 yes
3800 no
4000 yes
4200 no
4400 yes
4700 no
4800 yes
5100 no
5200 yes
6400 yes
6500 no
6800 yes
6900 no
7200 yes
7400 no
7600 yes
7800 no -
Need a complete implementation of StyleSheet
hi, does anyone know where I can find a complete implementation of StyleSheet?
I need a complete implementation of the interface of
javax.swing.text.html.StyleSheet
as Sun have not yet completed their version and it does not work properly with my stylesheet -
Solution Manager Business Case - to use SOLMAN for implementation
Does anyone have any stats on how much quicker an implementation can be by utilizing the Solution Manager tools?
Hi,
What features you want to implement with your SOLMAN?
For EWA, Solution Monitoring Check out these tutors.
https://websmp107.sap-ag.de/~sapidb/011000358700006405622006E
https://websmp107.sap-ag.de/~sapidb/011000358700006819072005E
https://websmp107.sap-ag.de/~sapidb/011000358700005011442004E
https://websmp107.sap-ag.de/~sapidb/011000358700004425722004E.sim
https://websmp107.sap-ag.de/~sapidb/011000358700008968942004E.sim
https://websmp107.sap-ag.de/~sapidb/011000358700001581382005E.sim
https://websmp107.sap-ag.de/~sapidb/011000358700008968952004E.sim
https://websmp107.sap-ag.de/~sapidb/011000358700001581372005E.sim
https://websmp107.sap-ag.de/~sapidb/011000358700006936042005E.sim
This will lead you to success in activating EWA, before these you should have your router ready and connectivity established with SAP.
--Ragu -
Need some help with a case statement implementation
I am having trouble using a CASE statement to compare values and then display the results. The other issue is that i want to put these results in a separate column somehow.
Heres how the code would look:
SELECT "Task"."Code",
"Stat" = CASE WHEN "Task.Code" = 1 THEN string
....and so on
I wanted to make "Stat" the new column for the results, and string represents the string to be assigned if 1 was the value for code. I keep getting syntax error, any help would be nice.This is a lot easier than you might think.
1) First, move another column of "Code" to your workspace.
2) Click on the fx button and then on the BINS tab.
3) Click on "Add BIN" and with the operand on "is equal to/is in," input 1 and then click "OK."
4) Name this what you had for "string."
Repeat for all the different values you want to rename as another "string" value.
5) Finally, check the "custom heading" checkbox, and rename this column "Stat" as you indicated.
That's it. -
Need Ways to implement Badis in ECC 6.0 (Enhancement Points)
Hi experts,
I am new to BADIs. I've a requirement to find a BADI for changing Customer number while posting customer invoice in SAP (the data is coming from XI system in IDOC format). I want to know any BADIs or userexits are there for my requirement. At the same time I want to know how to implement a BADI in ECC 6.0 .Any docs releated to this topic will be of great help.
points will be awarded for sure..........hi Poorna Chandras... ,
These steps should enable you to find any BADI related to any transaction in a matter of minutes.
Procedure 1:
1) Go to the transaction SE37 to find your function module.
2) Locate the function SXV_GET_CLIF_BY_NAME.
3) Put a breakpoint there.
4) Now open a new session.
5) Go to your transaction. 6) At that time, it will stop this function.
7) Double click on the function field EXIT_NAME.
8) That will give you name of the BADI that is provided in your transaction.
Business Add-Ins
Procedure 2:
1) Goto se24 (Display class cl_exithandler)
2) Double click on the method GET_INSTANCE.
3) Put a break point at Line no.25 (CASE sy-subrc).
4) Now Execute SAP standard transaction
5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
7) This way you will find all the BADIs called on click of any button in any transaction
SAP Business Add-Ins (BAdIs) are one of the most important technologies used to adapt SAP software to specific requirements. BAdIs were introduced with Release 4.6 and replace function module exits. This technology is not limited to SAP applications. BAdI calls can be integrated in customer applications. These can then be enhanced by other customer applications. In the various SAP applications, BAdI calls are implemented at places where enhancements are appropriate.Business add-ins are enhancements to the standard version of the system. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, country-specific versions, industry solutions, partner, customer, and so on). You can create definitions and implementations of Business Add-Ins at any level of the system landscape.SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to differentiate between Add-In implementations using the filter Country or other criteria.
The enhancement technique is set up in such a way that it is possible to define interfaces for ABAP soure code, screens, GUI interfaces, and tables. These allow customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
BADI is just an object-oriented version of user-exit. Instead of entering program code into some function module (as in customer-exit), you define some class which has to implement predefined methods and those methods are fired at predefined points just like an old user-exit. Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently. BADI/UserExists are used to enhance R/3 For customer Needs.
Actually there is no transaction to find when and where the BADI
is called.
1. You can see the BADI description to find why it is called.
2. Once you implemented and activated the BADI, put some break points
in the BADI and see "where else used" option to check in what all
programs this BADI is called. In the ITS debug, when you are doing
the operation what exactly the BADI description tells, it will take
to the break points and you have to do manually debug the whole thing.
I know its bit difficult to do manual debug the whole thing, it
takes lot of time, but you have to be very patience when you are
dealing with BADI's.
Transaction SE18 is the BADI equivalent of transaction SMOD
Transaction SE19 is the BADI equivalent of transaction CMOD .
To find the BADI to be implemented and then implement this via SE19.
Check this blogs 2 find a BADI:
How to find if we have a BADI in Transaction VB02
Re: BADI for screen enhancement in MM01 transaction
Re: BADI and User exits
How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
When to Use a BAdI?)
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
How to implement a BAdI And How to Use a Filter
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
Introducing Business Add-Ins
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
How to implement BAdi in Enhancement Framework
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
Business Add-Ins
http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
BAdI: Customer-Defined Functions in the Formula Builder
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
Difference Between BADI and User Exits
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
You can check the links for Step by Step Badi Implemntation
(very helpful self learning docs).
BADI Step by Step Implementation.
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/63ee7f486cc143a560799d8803ce29/content.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/srm/badi-general+information&
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
The specified item was not found.
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
http://www.allsaplinks.com/badi.html
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-serieshttps:///people/alwin.vandeput2/blog/2006/04/13/how-to-search-for-badis-trace-it
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework /people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://www.esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40921dd7-d5cf-2910-1894-bb62316afbd1
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
Difference Between BADI and User Exits
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
New to Badi`s
New to BADI
New to BADI long question
Badi
/message/4866901#4866901 [original link is broken]
Hope this helps
Rewards if useful.........
Cheers
Kripa Rangachari. -
Help needed with basic implementation of drawrect: in NSView
i've read the sections concerning the above in the "view guides for cocoa" docs, as well as several tutorials, but for the life of me i can't figure out how to do a very simple thing.
all the examples i've seen explain how to use NSRect and NSBezierPath, with fills and strokes, *from within* the drawRect: method. but i want to pass a custom object as a method argument to the view object (say, from inside my controller object when a user presses a button), and then write the code needed to run some getters on the object and draw some stuff accordingly.
i've defined the view as follows in the controller class header:
MyCustomNSViewSubclass *theView;
now i just want to send that view a message like this:
[theView draw: myObject]
then i just want to add the code in the view class to do find out some things about myObject and then draw some lines. i just don't understand where to put that code and how the drawRect: method gets called. writing a method like this in the MyCustomNSViewSubclass implementation (which is instanced in "theView") doesn't help:
- (void) draw: (myObjectType *) anObject
because then i can't figure what's needed to actually update the view.
i understand i must be using a wrong approach here. any help will be much appreciated.
thanks.No no, you didn't really understand : you are the developer, you do whatever you want, it means that if you want your custom NSView to simply ask other object to draw their own contents and do nothing else in the NSView you can, but if you want your NSView to manage everything you can too...
For example, let say I want a Shape class to manage... Shapes in my views... That's not very useful since there's already the NSBezierPath class that allows you to draw a lot of things, but whatever.
That shape class is very simple, it can represent either a rectangle or a circle and it can draw itself. There's the possible implementation :
// Shape.h
#import <Cocoa/Cocoa.h>
@interface Shape : NSObject
NSRect rect;
NSColor *fillColor;
NSColor *strokeColor;
BOOL isCircle;
- (void)setRect:(NSRect)aRect;
- (void)setFillColor:(NSColor *)aColor;
- (void)setStrokeColor:(NSColor *)aColor;
- (void)setIsCircle:(BOOL)flag;
- (void)draw;
@end
// Shape.m
#import "Shape.h"
@implementation Shape
- (void)setRect:(NSRect)aRect
rect = aRect;
- (void)setFillColor:(NSColor *)aColor
if(fillColor != aColor)
[fillColor release];
fillColor = [aColor retain];
- (void)setStrokeColor:(NSColor *)aColor
if(strokeColor != aColor)
[strokeColor release];
strokeColor = [aColor retain];
- (void)setIsCircle:(BOOL)flag
isCircle = flag;
- (void)draw
NSBezierPath *temp;
if(isCircle)
temp = [NSBezierPath bezierPathWithOvalInRect:rect];
else
temp = [NSBezierPath bezierPathWithRect:rect];
[fillColor set];
[temp fill];
[strokeColor set];
[temp stroke];
- (void) dealloc
[fillColor release];
[strokeColor release];
[super dealloc];
@end
That's a very simple class, there's not even an initializer... But it's not the problem here... What we want here it's a self-drown object. You see that class is a subclass of NSObject, nothing special.
Let see now our custom NSView class, which means a subclass of NSView :
// MyView.h
#import <Cocoa/Cocoa.h>
@class Shape;
@interface MyView : NSView
NSMutableArray *shapesToDraw;
- (void)addShape:(Shape *)aShape;
- (void)removeShapeAtIndex:(unsigned)index;
@end
// MyView.m
#import "MyView.h"
#import "Shape.h"
@implementation MyView
- (id)initWithFrame:(NSRect)frame
self = [super initWithFrame:frame];
if (self)
// Here we simply create a new array that will contain our shapes to draw
shapesToDraw = [[NSMutableArray array] retain];
return self;
- (void)drawRect:(NSRect)rect
// This code simply asks to every shape in the array to draw itself
NSEnumerator *e = [shapesToDraw objectEnumerator];
Shape *shape = nil;
while(shape = [e nextObject])
[shape draw];
- (void)addShape:(Shape *)aShape
[shapesToDraw addObject:aShape];
// When the content of the array changes, we need to tell the view
// to redraw itself, we do with that message
[self setNeedsDisplay:YES];
- (void)removeShapeAtIndex:(unsigned)index
[shapesToDraw removeObjectAtIndex:index];
[self setNeedsDisplay:YES];
- (void) dealloc
[shapesToDraw release];
[super dealloc];
@end
So you see here, how do you draw objects ? Well, first you need to know them, you also need them to know how to draw themselves... In Cocoa that kind of object already exists, they're NSBezierPath, when you send the message -fill or -stroke you ask them to draw themselves with the current color.
Here, each shape will be asked one after another to draw itself in the rectangle that is defined in it. You can add a shape by creating it in a controller for example, and add it using the add method I defined, here the drawing code is actually in both classes, in fact we can consider [shape draw] as being "drawing code", that' a point to get : You can't draw outside a -drawRect: method (except in certain complex cases), but you can send messages that contains drawing code within -drawRect: to other objects. that's what I do here.
However, you need to know that an NSView doesn't only manage its drawings, it also receives events like a click of the mouse or a typed key, there's methods to manage that into the view, and if all the code of an application is inside your view class, well your code might get really big and very difficult to read, that's why we cut in smaller parts to make it easier to read and to understand.
So, do whatever you want in that -drawRect: method, you know, here I put a -draw method into the Shape class, but I could also have put method to get the NSRect value, the fill color, the stroke color and the kind of shape and make the drawing code directly in the view. You can do whatever you want.
So, to summarize, you don't "send" objects for your view to draw. The view draws what the -drawRect: methods draws, and not more so if you want your view to draw custom paths, you can use the technic I gave you, that is for example you put a NSMutableArray into your view and create a ColoredPath class that own an NSBezierPath and two NSColor (fill and stroke) and you define a -draw method that your view will call on each ColoredPath objects that the array contains.
That's a work around. But depending in what you actually want to do, there's a lot of different solutions.
Now, talking about the interface problem. In IB when you drag a custom view on the window, by default that object is set to NSView, so you need to make it an instance of your own view subclass.
If you're under Leopard with Xcode 3 and IB 3, in IB you click on your view and go in Identify Inspector (cmd + 6) you type the name of your subclass in the Class field, if you already created the class files, the name should appear before you finished.
If you're under Xcode 2 and IB 2, you go in the Custom Class Inspector (also cmd + 6) and you select your custom class in the list.
The name of your class should replace the "Custom Class" label on the view.
That's how you set the class of a view in IB and make your app call your code when the view needs to display. -
Need suggestions on implementing copy functionality
Hello Everyone,
Jdeveloper: 11.1.2.1
I have a requirement of implementing "copy order" functionality in one of our applications, where we have a search screen as a landing page where it will fetch all list of existing orders in the search results upon user search. Now we need to put a button there and when user selects any order from the search results and click "copy" button, it should copy all fields of that existing record from VO to a new record blank record other than order order_id (where it will be populated using a db_sequence). I am looking for way to copy entire row into vo instead of looping through all all attributes. Also this has around 10 child vos (like order lines, supplier list etc) which also needs to be copied.
Can someone suggest a better way to achieve this.
Regards,
Ravi Nuka.Thanks for the response Timo,
In my case, there are list of secondary suppliers for the existing order in one of the tab (master form and child vos as tab in my case). so I want to copy the supplier list as well from existing order.
To explain more, in my use case(master detail screen), there will be an order lets say order#1001, it will have list of line items (individual items) in tab#1, list of suppliers of those items in tab#2, taxes in tab#3 etc. Now if anyone want to create another order similar to this, they want to copy this order so that most of the data can be used and unwanted data is removed/modified.
Regarding the method which you told in your earlier post about copy record, can you please elaborate a little more so that I can try that approach.
Regards,
Ravi Nuka.
Maybe you are looking for
-
How to restrict number of concurrent connections etc.
Hi, I'm able to use wi-fi thru WRT54GC. I want to know: 1. How to restrict number of users connecting to the wireless network that is setup thru my router? 2. I also want to know about any monitoring software which can tell me about connected PCs, us
-
How do i get my apps from my old ipod touch to my new ipod touch
my son had to get a new ipod touch because he shattered his screen. the person who helped us said that his ipod was backed up to my icloud so he will be able to transfer his stuff to his new ipod. when he got home and we went through the process it s
-
Ssl with Oracle jdbc thin driver on weblogic 9.2
http://www.oracle.com/technology/products/weblogic/howto/jdbcssl/index.html http://www.oracle.com/technology/tech/java/sqlj_jdbc/pdf/wp-oracle-jdbc_thin_ssl_2007.pdf I had already created the ssl-jdbc connections for Weblogic 9.2 with Oracle 10.2.0.3
-
Hi any body has done an upgrade from XE to 11g on Windows Server 2003? I am in serious trouble, when I login to apex after upgrade I could not see any workspaces that I have created earlier. When I looked in database I see in dba_users APEX_030200 FL
-
My itouch is locked for 22,000,000 minutes, I'm trying to restore it, what do I do?