Sage's SCAFFOLDS - A developers point of view.
The Scaffolds style layers are rocking. They allow the logical
separation between function, data, and displays. And each of them have
their own limb on the family tree which is well thought out and easy to
preserve.
There are three layers which you get with Scaffolds.
SCF layer:
This is where Scaffolds lives. If you need to upgrade scaffolds this is
the place where that happens. Away from all the stuff you have already
working...which buffers you from changes. We have went through 3
different upgrades from Sage's Scaffolds and they went rather smoothly.
( not accounting that we were running Forte Beta 3....)
This layer is where the true heart of Scaffolds lives. The meat and the
drive of Scaffolds which manages and controls what is called when and
why resides here.
AppBase Layer
This is where you could start to do some modifications to
Scaffolds..this is the first of the Style layers. We have reserved this
layer for needed fixes between Scaffolds and our own style layer. Not
much resides here usually for our development.
App Layer
This is where our magic begins. With the top down inherence which
Scaffolds has if a modification is done here all the children which
inherits from anything in this layer also gets the change.
Like...if you have a mess of windows which need a certain widget and the
same action for that widget...you could "roll" that widget and action
into this layer there by giving it to all the children for "free". All
a new child would have to do to get the same inter-workings of the other
windows is to subclass of the same parent.
This is really nice since, like most window projects you would want your
windows to act the same and if you make a change you only have to do it
in one place...and not all over every window.
Those are the Three layers which are provided for you and you can add
your own below those to buffer changes. We added another layer below
the App layer to continue the chain. In this new layer we do hard core
development and find out what...if any...things we can roll up to the
app layer.
In each of these layers there are 5 projects. In order of supplier
plans....
Constants
Classes
Services
Facilities
Windows
Which really helps keep things in perspective, and makes sure those who
need to see something sees it and nothing else. So this helps keep
those nasty circular suppliers in check.
In the window classes you get a bunch of pre-called methods.
init
onframeopen
ondisplayframe
ondisplayedframe
oncloseframe
onmapindata
onmapoutdata
(there are more...but this is a good start...)
The nice thing about windows is they are separated from the data by
means of a content object. The content object has the information which
the window needs to display. So you separate the acting like a window
away from managing data. This makes for some really easy reuse
concepts. Then on top of that your Business objects are kept way from
the data base by means of a Strategy builder, which associates a BO with
the needed connections to get to and from the data base.
Then there is the Frame/controller/view branch.
The Frame has like menus and toolbars which are common on all frames of
that type.
On a Frame you can have either a single view or a view controller.
On a view controller you can have another view controller and/or views
So you can nest really quickly pre-made groupings of widgets and
actions.
Views for example would be a address widget grouping. With street,
city, state, zip such included with the required actions. Like zip code
checking, making sure they include a state in the US..such.
Now how many places in your app has a need to show addresses? Well
after building the widget groupings and actions the first time...it
takes like two or three lines of code to include that view into a frame
or view controller. And if by chance you want to add country to all
your addresses, you change it one place and it ripples through your
system without need to revisit all who use that grouping.
So as far as Customizations....man...it helps you do that in a
controlled and easy way which will really speed your development. This
is because you build reusable parts every time you build a frame with
views.
Also may I add, that Sage just rules. We went against their advice and
started using Forte Beta 3 with Scaffolds and they helped us work
through the bugs and the problems on the fly. At the time we started
Scaffolds did not support Forte Beta 3, but after a bunch of heart aches
and long sessions Sage's Scaffolds seems to me right now to be well
worth the time and effort ( not to even forget to mention the money)
that we have invested into it.
Hope this helps you see the added value Scaffolds gives your Forte
investment.
Billy Cole
Software Engineer
GTE Government Systems
From: [email protected][SMTP:[email protected]]
Sent: Thursday, September 04, 1997 9:30 AM
To: [email protected]
Subject: SCAFFOLDs Customization
Does anyone have experience using SCAFFOLDs style layer? What type of
customiziation does it allow and how flexible is it? Does it provide
for
both enterprise-wide customization and application-wide customization?
The
literature from Sage doesn't provide much detail so I would appreciate
hearing from those who have used it.
Sincerely,
CJ
The Scaffolds style layers are rocking. They allow the logical
separation between function, data, and displays. And each of them have
their own limb on the family tree which is well thought out and easy to
preserve.
There are three layers which you get with Scaffolds.
SCF layer:
This is where Scaffolds lives. If you need to upgrade scaffolds this is
the place where that happens. Away from all the stuff you have already
working...which buffers you from changes. We have went through 3
different upgrades from Sage's Scaffolds and they went rather smoothly.
( not accounting that we were running Forte Beta 3....)
This layer is where the true heart of Scaffolds lives. The meat and the
drive of Scaffolds which manages and controls what is called when and
why resides here.
AppBase Layer
This is where you could start to do some modifications to
Scaffolds..this is the first of the Style layers. We have reserved this
layer for needed fixes between Scaffolds and our own style layer. Not
much resides here usually for our development.
App Layer
This is where our magic begins. With the top down inherence which
Scaffolds has if a modification is done here all the children which
inherits from anything in this layer also gets the change.
Like...if you have a mess of windows which need a certain widget and the
same action for that widget...you could "roll" that widget and action
into this layer there by giving it to all the children for "free". All
a new child would have to do to get the same inter-workings of the other
windows is to subclass of the same parent.
This is really nice since, like most window projects you would want your
windows to act the same and if you make a change you only have to do it
in one place...and not all over every window.
Those are the Three layers which are provided for you and you can add
your own below those to buffer changes. We added another layer below
the App layer to continue the chain. In this new layer we do hard core
development and find out what...if any...things we can roll up to the
app layer.
In each of these layers there are 5 projects. In order of supplier
plans....
Constants
Classes
Services
Facilities
Windows
Which really helps keep things in perspective, and makes sure those who
need to see something sees it and nothing else. So this helps keep
those nasty circular suppliers in check.
In the window classes you get a bunch of pre-called methods.
init
onframeopen
ondisplayframe
ondisplayedframe
oncloseframe
onmapindata
onmapoutdata
(there are more...but this is a good start...)
The nice thing about windows is they are separated from the data by
means of a content object. The content object has the information which
the window needs to display. So you separate the acting like a window
away from managing data. This makes for some really easy reuse
concepts. Then on top of that your Business objects are kept way from
the data base by means of a Strategy builder, which associates a BO with
the needed connections to get to and from the data base.
Then there is the Frame/controller/view branch.
The Frame has like menus and toolbars which are common on all frames of
that type.
On a Frame you can have either a single view or a view controller.
On a view controller you can have another view controller and/or views
So you can nest really quickly pre-made groupings of widgets and
actions.
Views for example would be a address widget grouping. With street,
city, state, zip such included with the required actions. Like zip code
checking, making sure they include a state in the US..such.
Now how many places in your app has a need to show addresses? Well
after building the widget groupings and actions the first time...it
takes like two or three lines of code to include that view into a frame
or view controller. And if by chance you want to add country to all
your addresses, you change it one place and it ripples through your
system without need to revisit all who use that grouping.
So as far as Customizations....man...it helps you do that in a
controlled and easy way which will really speed your development. This
is because you build reusable parts every time you build a frame with
views.
Also may I add, that Sage just rules. We went against their advice and
started using Forte Beta 3 with Scaffolds and they helped us work
through the bugs and the problems on the fly. At the time we started
Scaffolds did not support Forte Beta 3, but after a bunch of heart aches
and long sessions Sage's Scaffolds seems to me right now to be well
worth the time and effort ( not to even forget to mention the money)
that we have invested into it.
Hope this helps you see the added value Scaffolds gives your Forte
investment.
Billy Cole
Software Engineer
GTE Government Systems
From: [email protected][SMTP:[email protected]]
Sent: Thursday, September 04, 1997 9:30 AM
To: [email protected]
Subject: SCAFFOLDs Customization
Does anyone have experience using SCAFFOLDs style layer? What type of
customiziation does it allow and how flexible is it? Does it provide
for
both enterprise-wide customization and application-wide customization?
The
literature from Sage doesn't provide much detail so I would appreciate
hearing from those who have used it.
Sincerely,
CJ
Similar Messages
-
Dear Apple,
You have been telling us, Java developers on OS X, that Leopard will
be the best Java platform ever. That it will contain Java 6. You've
been showing us flashy presentations the past two years at WWDC
about Java 6. You have even given us access to preview releases.
At the WWDC 2006 Java presentation there even was a slide that said:
" 2005: "When is the next Java coming?" "
And it answered that question on the next slide:
"We are following Sun's releases of Java SE 6 betas
and other Java updates very closely."
It's been a year since Sun RELEASED Java 6. On three different platforms.
Now Leopard has been released and all signs of Java 6 have
disappeared. Java 6 is not included in the shipping developer tools
and not available as a download. Even the previews have disappeared.
This truly is the anti-climax of Leopard. Me and undoubtedly many
other fellow developers had hoped that the release of Leopard would be
the moment where Apple would finally get up to date with Java.
I know it is still early, Leopard has just hit the stores, but it
would be great if Apple could actually make a statement about
releasing Java6. Some of us will probably choose an alternative
development platform if it is going to take another year.
<<<<<<<<<<<<<<<<<taken from a Java Apple mailing list user>>>>>>>>>>>>>>>>>>>>
Thank youFor further discussion of this topic please go to http://discussions.apple.com/thread.jspa?messageID=5695716�.
-
Hi ,
I have set a filter Custom ( Just two values) for Version which is set as user point of view .
I can see only two values in the FR studio for that report .
But i have following issues.
1) When other users/developers login with there credentials the custom filter is not getting applied . That is the other developer can see all the values.
2) When i run the report in workspace the custom filter does not get set . It shows all the values even though in the design the Custom filter is set.
please let me know how i can resolve the above issue and is critical for me .
Thanks and Regards
VijayaI know what you are referring to. What you did was create a filter only for your user id and not for the report. That option in the FR Studio is very misleading, it makes it appear as if the report was limited to those 2 members. It is only for the user id of the person developing the report when you preview the report.
What you can do is put Version in the Grid POV. There you can limit the members users will see when they run the report. Unfortunately, it's not very pretty and a bit confusing for users. -
Please validate my logic performance point of view:
Please validate my logic performance point of view:
logic I wrote :
LOOP AT i_mara INTO wa_mara.
*-----For material description, go to makt table.
SELECT SINGLE maktx
FROM makt
INTO l_maktx
WHERE matnr = lwa_mara-matnr
AND SPRAS = 'E'.
IF sy-subrc = 0.
wa_mara-MAKTX = l_maktx.
ENDIF. " IF sy-subrc = 0.
*-----For Recurring Inspection, go to marc table.
SELECT prfrq
FROM marc
INTO l_prfrq
UP TO 1 ROWS
WHERE matnr = lwa_mara-matnr.
ENDSELECT.
IF sy-subrc = 0.
wa_mara-prfrq = l_prfrq.
ENDIF. " IF sy-subrc = 0.
MODIFY TABLE i_mara FROM wa_mara
TRANSPORTING maktx.
CLEAR : wa_mara.
ENDLOOP. " LOOP AT i_mara INTO wa_mara.
Or is it better below : ?
To SELECT all the maktx values from makt and all prfrq values from marc
in two internal tables and
Loop at i_mara.
LOOP at all maktx itab
and pass corresponding maktx values into i_mara table
and pass corresponding prfrq values into i_mara table
ENDLOOP.
OR
is there any better performance logic you suggest ?
THANKS IN ADVANCE.ok this is very funny so if someone gets a good way to code he should wait till he gets 1198 points till he write a performance wiki
so that means ppl who has high SDN points only can write wiki
for your information wiki definition is
[http://en.wikipedia.org/wiki/Wiki |http://en.wikipedia.org/wiki/Wiki]
its all about contribution and sharing.
did you try that code on a production or a Quality server. If you did you wont say that coz the results i have shown in that blog is what i my self tested on a Quality system of our client.
and for your information i did my internship at a SAP AFS consultancy firm and i created the account at that time. I have joined that company and now working as a developer over there.
if you have worked on a client system development on SD and MM you will know that most of the time
we use header and item tables like
likp,lips
vbak,vbap
vbrk,vbrp
most of the time we come across nested loops with smiler kind of condition.
in this Q he has MATNR as reference.
if you see it properly you can see both tables are sorted.
and the select statement is for all entries.
for your information there can be a delivery document item with out a header if you are aware of DB concepts in that case there will be a foreign key error.
ok lets think about a situation like that even in that case if there ant any header data then simply the client wont request for that record.( you would know if you have worked with clients )
last but not least i dont care about my points rate at SDN i just wanted to share what i know coz anyway i have a very good job here. dont try to put down ppl just because they are new.
Thomas Zloch : i never told its my code i saw it some where then i checked and i bogged it so that i can get it when i want and i saw it in se30 ( its not se38 ) but i know most of ABAP developers dont check it much so i just wanted to help.
Rui Pedro Dantas : ya your correct we dont need to use it most of the time since sorted table is easy but there are programs which works with bulky data load we can use it in places like that. Thanks for talking the truth
Nafran
sorry if i said anything to hurt anyone. -
Report for Paid Invoices from AP Point of view.
Hello Gurus,
I am looking for a Report from SAP which will give me the Paid Invoices Information from Accounts Payable Point of view for a Particular Period which should cover the below information...
Entity
Invoice #
Invoice Date
Vendor Name
Invoice Amount
Currency
NET terms - NT30, NT 00 like wise
Net due date -
Paid Date
Document Types
Document Number
Please let me know the Standard Report Transaction Code ASAP.Quick response will be appreciated.
Thanks,
BHi:
Refer to FBL1N - Display/Change Line Items in accounts payable.
Select vendor accout,co.code,cleared items on a particular date and execute.
From change layout (Ctrl+F8), you can select payment terms,Net due date,account type,account document
Please let me know if you need more information.
Assign points if useful.
Regards
Sridhar M -
Client Merge! precautions to be taken from BW point of view
Hi,
We are in a process of merging two clients in R/3 which are typical source systems for BW!
What are the steps that we should take care of while the client merge is on from R/3 side.
these two clients are ofcourse very important for BW system as almost all for everydata load the extraction logic in FM to the ABAP routine in selection of infopacakge is different!
in a scenario such as this, what are the things that should i make a note from BW point of view?
RajHi,
1.Internal table with header line will not support in ECC 6.0 for that u need to create internal table and work area using TYPES.
2.Mostly u need to do some PATCH WORK for the STANDARD programmes.
Patch work in the sense for SPAU objects in Mysap is there any code written by client(INSERT {....END INSERT....}) this type of code u need to add in ECC 6.0 code....
3.Mostly u have to resolve EPC(Extended program check) errors.
In that u will find so many type of errors...Field attribute errors,Perform interface errors,Obsolete stetement errors,....etc.
4.First thing u need to what r the SCOPE and OUT OF SCOPE in your upgradation.
5.If u find any Fmodules obsolete...U just press F1 on that Fmodule it will show which function module can useful instead of that obsolete one...
6.If they want UNI CODE compatiable .....
EX Report...
Go to the attributes of the report...
There u can c a check box to check UNI CODE Errors...
U have to resolve these errors also...
After doing all these things u have to show 0 errors on CODE INSPECTOR fro each n every object...
Thats t as per my knowledge...
Regards,
Kishore Reddy. -
In BI 7,in loading point of view what is the difference
Hello All
In BI 7,in loading point of view
Upto the first level(upto PSA) we use infopackage and from that layer onwards we use DTP's.
My question is why do we want to use DTPs there? Why cant we use infopackage only?
What is the advantage by using this DTPs for loading the data within BI
Please let me know in this regard
Many Thanks
SwamiHi Swami,
Although not recommended you can still use infopackages if you want in BI 7.x. The introduction of the DTP was to overcome some disadvantages of using infopackages up to and including release 3.x to load the data targets (especially with datamarts where one infopackage loads several data targets,
if something goes wrong with the load to one of these data targets then it can be very difficult to correct).
This section contains some arguments in brief why the DTP was introduced with BI 7.0 :
Transfer from one source to one target
BW 3.X
One InfoPackage / Request supplies data for several data targets
Fixed sequence of steps (DataSource / transfer rules / update rules / data target)
Fixed source type: Combination DataSource/source system
Fixed target type: Cube or ODS object or master data
No init selection for extraction from infoprovider
One request can produce several error requests, depending on the data targets
No error handling into ODS Objects
Delta management
BI 3.X: The Receiver for DataSources is merely a logical system, which makes it impossible to have a separate delta management for several data targets within
one system
BI 7.0
Data Transfer Process transports data from one data source to one data target; new source and target types can easily be defined
Arbitrary number of steps (filter objects/transformations) between two persistent objects
Init selection available
Request produces error records stored in generic error stack
Error handling into ODS Objects possible
Resume from persistent buffer
Delta management
BI 7.0: The delta management is maintained by the data transfer process which connects arbitrary sources and targets
I hope the above helps.
Des. -
Batch managment from MM point of view
Dear Friends,
I want to learn the Batch management from MM point of view.
Can you please provide me the material which will explain me how to configure the SAP system for batch managment from MM point of view.
Thanks a lot
NileshPlease check these answered links:
Batch management
batch management
Batch Management
Edited by: Afshad Irani on Jun 14, 2010 3:15 PM -
Comparison of SAP R/3 4.7 with SAP ERP 6.0 in Basis point of view
Hi Experts,
Can we compare R/3 4.7 and ECC 6.0 in Basis point of view.
Say for example Password is case sensitive in new version, DBACOCKPIT added for central maintenance of database.
Like this can we list out some of the changes or differences.
It will be more helpful
Regards
KTHi,
compare to 4.7
1.New ABAP editor added like if u write code in abap editor ,using if coditions and select statments it automatically shows the link endif, like if .. endif,select ...endselect.
2.New abap debugger compare to the classic debugger.
3.DBACOCKPIT
Missing indexes of various database tablesu2019 and the transaction to reactivate all the missing indexes is u2018DBACOCKPITu2019. Below is the screenshot of the transaction DBACOCKPIT.
Regards,
Madhu -
In SD point of view , that r things we can check in Screen MD04
In SD point of view , that r things we can check in Screen MD04
Key areas and feilds in MD04 to look after for SD and PP integration and respective roles of consultants.yeap ur correct just we have to check in mod04 what happening in production procurment and make to order that means forcast sales . depond on forcast sales manufecturing is going on so we can only see that process i sgoing or not k thanku
-
Document Management System for sap mm point of view steps
Hi All.
Document management system for sap mm point of view steps required.
Thanks in advance for all sap mm forum members.
Regards.
ParameshwarHi,
Customizing settings can be collected by processes into Business Configuration Sets (BC Sets). BC Sets make Customizing more transparent by documenting and analyzing the Customizing settings. They can also be used for a group rollout, where the customizing settings are bundled by the group headquarters and passed on in a structured way to its subsidiaries.
BC Sets are provided by SAP for selected industry sectors, and customers can also create their own.
When a BC Set is created, values and combinations of values are copied from the original Customizing tables into the BC Set and can be copied into in the tables, views and view clusters in the customer system. The BC Sets are always transported into the customer system in which Customizing is performed.
Advantages of using BC Sets:
1. Efficient group rollout.
2. Industry sector systems are easier to create and maintain.
3. Customizing can be performed at a business level.
4. Change Management is quicker and safer.
5. Upgrade is simpler.
To create BC sets follow the below step:
Choose Tools ® Customizing ® Business Configuration Sets® Maintenance in the SAP
menu, or enter the transaction code SCPR3 in the command field.
Choose Bus.Conf.Set ® Create. -
Hi every one,
I am new to XI . I have a small doubt in Mappings.
In XI we have 4 types of mappings:
1.Graphical mapping
2.XSLT mapping,
3.Java Mapping
4.ABAP mapping
In case of performance point of view which one is best .
Plz explain me in details .
I will give full points for correct answers.
Thanks and Regards,
P.Naganjana ReddyHi,
refer to these links:
Re: Why xslt mapping?
http://searchsap.techtarget.com/tip/0,289483,sid21_gci1217018,00.html
/people/r.eijpe/blog/2006/02/20/xml-dom-processing-in-abap-part-iiib150-xml-dom-within-sap-xi-abap-mapping
/people/sravya.talanki2/blog/2006/12/27/aspirant-to-learn-sap-xiyou-won-the-jackpot-if-you-read-this-part-iii
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8a57d190-0201-0010-9e87-d8f327e1dba7
Regards,
Nithiyanandam -
Data loading - Member containing comma taken in point-of-view
Hi,
I tried loading date into planning. My point-of-View contains a member which has comma in it.
When loading it is considering that member as two different members.
Has anyone tried loading data into planning with members having comma.
Eg. Item No.,Start Date,Point-of-View,Data load Cube Name
30103,11-02-2011,"Actual,Version1,Dazzing Infotech, Inc,230"Capex
I have 6 dimensions say.
Dazzing Infotech, Inc is a member in dimension. It has comma which is seperating it as two members.
Error when loading is "Dazzing Infotech" doesn't exist or you do not have access to it.
Has anyone worked on this issue previously.
ThanksI agree that it would be cleaner to use the commas in an alias rather than a member name.
Cheers
John
http://john-goodwin.blogspot.com/ -
Date loading - Member containing comma in Point-of-View
Hi,
I tried loading date into essbase via planning. My point-of-View contains a member which has comma in it.
When loading it is considering that member as two different members.
Has anyone tried loading data into planning with members having comma.
Eg. Item No.,Start Date,Point-of-View,Data load Cube Name
30103,11-02-2011,"Actual,Version1,Dazzing Infotech, Inc,230"Capex
I have 6 dimensions say.
Dazzing Infotech, Inc is a member in dimension. It has comma which is seperating it as two members.
Error when loading is "Dazzing Infotech" doesn't exist or you do not have access to it.
Has anyone worked on this issue previously.
ThanksCross post :- Data loading - Member containing comma taken in point-of-view
Cheers
John
http://john-goodwin.blogspot.com/ -
Need information on MDX queries from beginners point of view
Hi Gurus,
I am working in BI 7. Till now I am untouched with the basics of MDX and its syntaxes except with the T-Code MDXTEST
Can anyone forward me the docs or links to learn MDX from beginners point of view.
Regards,
SrinivasHi Srini,
/people/prakash.singh4/blog/2005/03/12/get-bw-data-in-portal-via-jca-using-mdx-statement
Tables in R/3 what in BW?
http://help.sap.com/saphelp_nw04/helpdata/en/d9/ed8c3c59021315e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/64/9b8f3c855f0454e10000000a11405a/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/45/f33574fee1487f9b8487d2986a2658/frameset.htm
/message/4683448#4683448 [original link is broken]
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60f35908-ecd4-2910-6c89-e75e1054d9d1
/people/prakash.darji/blog/2006/09/04/work-with-xmla-web-service-for-bi-data-in-external-applications
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60f4cabe-0401-0010-fbba-fae6c7a8d29e
Regards,
Vijay
Maybe you are looking for
-
Illegal Input exception in lookup Api
Hi all, We have a custom scheduled task to populate the lookup values. The task was working fine. But as per my observation whenever we are getting any values need to go in decode contains *<,>,--* like values "*dummy <ch>*","*the org -- organization
-
An error occurred while scanning
hello,downloand driver for my hp2050j510 series yesterday,but upto now zero,i can't scan(photo&documents).while scanning i get this horrible messsage from the printer''an error occured while scanning'',help please.merci!! This question was solved. Vi
-
ODI 11.1.1.6 unable to reverse engineer table
I created a new table and added it in the ODI repository. When I refresh the data I can see the number of rows changing so I presume that everything is ok with the connection and the driver. The problem occurs when I try to reverse engineer columns,
-
Can i select different OS time machine backups in the future?
I have finally gotten Lion upgraded over snow leopard after hard drive failures, restoring from time machine a leopard os and then upgrading over it. now i'm ready to start backing up with time machine on the new lion drive and intend to keep the old
-
After creating a WSCF ( file share witness as a quorum configuration) on Windows Server 2012R2 in order to create an AlwaysOn Availability Group we end up with a partition offline. We have a VM with two partitions hosted on two different controllers: