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: 

Client dependent and Client independent objects

Former Member
0 Kudos
1,219

Hi All,

Can any one tell me easily what are client dependent and client independent objects? Why i am asking this question is because some said that Scripts are client dependent and others (Smartforms and programs) are client independent.

So if we make changes to client dependent objects say in 200 machine it will reflect in client 100 also. How this happens?

1 ACCEPTED SOLUTION

Former Member
0 Kudos
426

Hi,

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.

I suspect 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).

Regards

Sudheer

6 REPLIES 6

Former Member
0 Kudos
427

Hi,

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.

I suspect 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).

Regards

Sudheer

Former Member
0 Kudos
426

Hi,

Tables which are having MANDT field is called as client dependent tables. Tables which are not having MANDT field is called as client dependent tables.

Client independent

a table/object that is valid for all clients in a system. E.g table SCC4. This table will be the same no matter which client you view it from. If you try to make changes in SCC4, you'll get a popup with a warning that the table is cross client.

Client dependent

a table/object that is only valid for the client it is changed in. E.g the user tables USR*. You have to create users in each client.

)when we add a field MANDT of type MANDT then our table is client dependent and is visible to only that client.

2) But if this Field is not added to the table then we can access the table using any client number.

3) tables which can be access by all user are client independent (no mandt field in table)

4)tables which can be access by some specific user are client dependent (use mandt field in table)

5) client dependent tables have a mandatory field MANDT field.

6) A client-dependent table has the field MANDT of data type CLNT, which indicates Client id.

7) A client-independent table does not have this field.

Standard Texts, SAP Scripts are client dependent objects.Tables are client indpendent but the data in those tables is client dependent as we have there is a field called MANDT. All dictionary objects like Tables, Views and other objects in SE11 and Programs, Fun modules ,smartformsand most of the repository objects are client Independent.

http://sap.ittoolbox.com/documents/popular-q-and-a/differentiating-between-dependent-and-independent...

http://help.sap.com/saphelp_nw2004s/helpdata/en/a9/bb963a570b4b5de10000000a114084/frameset.htm

http://help.sap.com/saphelp_nw2004s/helpdata/en/b7/8a9a3aaf894871e10000000a114084/frameset.htm

Regards,

Sankar

Former Member
0 Kudos
426

hI,

Say u have a developement server with clients 100, 200, 300.

Client independent: means programs/objects will be avaliable in all clientes i.e. same copy and modifcation in one client will be reflected in all tables.

e.g. tables without mandt field.

client dependent: means these object will be different in all clients. say if i modifies a sap script in 100 it will not reflect in 200 , i hv to transport it .

e.g. tables with mandt field.

Jogdand M B

Former Member
0 Kudos
426

special kind of objects are client-dependent repository objects. These objects have to be treated specially in the way that they have to be imported into their specific target client. In contrast, client-independent repository objects can be imported into any client.

The following list shows the client-dependent repository objects:

LIMU FSEL Field Selection

LIMU VARI Report Program System Variant

R3TR COC1 CO: Cost Centers

R3TR COC2 CO: Activity Types

R3TR FORM SAPscript form

R3TR LODS HRDSYS: Logical information object client-dep. table E SYST

R3TR PCYS HR: Transport standard personnel calculation rules

R3TR PHDS HRDSYS: physical information object client-dep. table E SYST

R3TR SBNL Logical Information Object for BDS

R3TR SBNP Logical Information Object for BDS

R3TR SBNR BDS: Relationship Between Information Objects

R3TR SBPL Logical Information Object for BDS: Bid Invitation

R3TR SBPP Physical Information Object for BDS

R3TR SBPR BDS: Relationship Between Information Objects

R3TR SBRL Logical Information Object for BDS

R3TR SBRP Physical Information Object

R3TR SBRR BDS: Relationship Between Information Objects

R3TR SBSL Logical Information Object for BDS

R3TR SBSP Physical Information Object

R3TR SBSR BDS: Relationship Between Information Objects

R3TR SBTL Logical Information Object for BDS

R3TR SBTP Physical Information Object

R3TR SBTR BDS: Relationship Between Information Objects

R3TR SBWL Logical information object for BDS

R3TR SBWP Logical information object for BDS

R3TR SBWR BDS: Relationship between information objects

R3TR SRHL SRM: Hierarchical Lists

R3TR SRLD Language-Dependent Client-Specific Retrieval Index Objekt

R3TR STYL SAPscript Style

Regards

former_member196280
Active Contributor
426

Usually you will be having tow development clients for ex, 100 & 200, one is used for making changes to your program and next is used you testing your program, I mean one development client will have test data and other may not have.

Now coming back to your question, SAPScript is client dependent... whatever changes you make in client 100 will not be cascaded to client 200, but coming to Smartforms it is client independent, so whatever changes done in one client will be automatically cascaded.. and all this settings are done in basis part...

Note: to make uniformity between the two development clients try to copy the scripts using program RSTXR3TR, you can download the form using your trnsport number and upload the form to the next development client using same transport number..

If you question is answered, close the thread.

Regards,

Sairam