Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

why the sapscript called as client dependent? y smartform not?

Former Member
0 Kudos

why the sapscript called as client dependent? y smartform not?

1 ACCEPTED SOLUTION

raja_thangamani
Active Contributor
0 Kudos

Smartform<b> Generates the Function module</b> when you activate. Any Funtion module/Report Client-independent. So smartform is called Client independent.

Raja T

3 REPLIES 3

Former Member
0 Kudos

sapscript if created in one client doesnot show in other whereas smartform is seen in all clients if created in one...

so script is client dependent whereas smartform is client independent.

raja_thangamani
Active Contributor
0 Kudos

Smartform<b> Generates the Function module</b> when you activate. Any Funtion module/Report Client-independent. So smartform is called Client independent.

Raja T

Former Member
0 Kudos

Few more reasons why....? Please read below:

SAPscript technology is based on a mainframe product from the 1980s,

while Smart Forms have only been around since (roughly) 2001. With that sort of time gap,

there are bound to be significant differences between the two tools. As you have noted correctly, client dependence is a fundamental one.

Although SAPscript has had some incremental improvements over time,

its forms have always been -- under the hood -- relatively passive objects, with minimal embedded logic.

These forms were designed to be driven and controlled by ABAP programs,

much in the way ABAP programs read in database tables to produce reports;

if you ever download a SAPscript form (e.g., via utility program RSTXSCRP),

and look at the portable text file it produces you'll see what I mean.

Many text objects (e.g., invoice header texts) are bound directly to documents which are client-dependent, so it makes sense for these text objects to also be client-dependent. From a complexity standpoint, SAPscript forms are close enough to these text objects where I can see how it made sense at the time to make them client-dependent too.

Conversely, a Smart Form is significantly more robust and complex. For instance, it can contain program nodes and nested tables with patterns. When a Smart Form is compiled, it generates an ABAP function module – and these are always client-independent. This is appropriate, given that this form has more in common with an ABAP program than its predecessor. For instance, when a print program calls a Smart Form, the form itself takes over to produce output, without any further direction from the print program. In fact, the join is so seamless that I often find myself using a Smart Form's Initialization section for logic to handle any data gathering not handled by the print program. I would never even think to attempt this with SAPscript.

Several factors figured into SAP's decision to make Smart Forms client-independent, including customer feedback. There are significant advantages to client-independence. For instance, a change made in one development client happens immediately across all development clients. Among other things, this means we don't have to waste time figuring which client contains the most recent version -- they all do! In addition, transporting Smart Forms is easier, since we can safely bundle them together in the same transport as their client-independent print programs (no worry about mixing client-dependent and independent objects).

Thanks,

Santosh