Businesses frequently need to communicate promotional or informational messages to their customers via output documents. You can save time by maintaining such text in your SAP R/3 system through the use of text determination.
Key Concept
Standard texts are text objects within the R/3 environment that can be used more than once. You can include them in master records or document texts. They can be used on output documents for external communication with business partners or for internal communication within an organization. For example, such standard texts are often included on customer billing documents.
A functional team member usually faces several common problems while trying to design manageable standard
texts in R/3. Promotional and informational messages usually need to be maintained by sales or marketing personnel, while
the technical aspects of inputting and changing such messages in R/3 are limited to members of the functional team. Also,
functional team members find it difficult to tie standard text determination on output documents to the data that is
available on the document in question — for example, the sales organization or sales office. Instead, teams often
turn to manipulation of print programs and SAPscript forms to accommodate a wide variety of scenarios. The technique I'll
outline addresses all these problems and details the steps necessary to put a flexible and manageable standard text
functionality in place.
Note
When you execute standard text determination, application data is placed in what is called a communication structure. Communication structure FTVCOM, used in Figure 1, contains many other fields in addition to sales organization, including preceding sales document number, sales office, and division. You could use any of these to customize standard texts.

Figure 1
Define a data transfer routine
Data Transfer Routines
To address the problems of standard text flexibility, you can turn to small ABAP-driven data transfer
routines. Routines are sub-programs that transfer data and carry out various checks during document processing. Follow the
IMG menu path Sales and Distribution>System Modifications>Routines>Define FORM Routines For Data Transfers.
Proceed to Data transfer>Texts. You can also use transaction VOFM.
Here you define your own custom routines. Proceed by entering the new routine number and description. The
routine number has to be within a customer number range (50 to 99). I'll use the example of a sales organization-specific
data transfer routine. Figure 1 demonstrates a data transfer routine for this scenario. When you create a standard
text, use the standard naming convention Z_TEXT_SALESORG_XXXX for the technical name of the text,
where XXXX represents the sales organization number on the billing document. For example, technical name
Z_TEXT_SALES ORG_1000 would be assigned to a standard text that was created for sales organization 1000. The
content of the standard text includes the message that you would like to display on the output of the billing document.
I'll cover the
creation of the standard text and maintenance of its content later in this article.
Note
To create a new text type, overwrite the values of Text ID and Description of an existing text type and press Enter.
I'll now move along to the three steps required for configuration of an SD text-determination procedure.
Follow IMG menu path Sales and Distribution>Basic Functions>Text Control>Define Text Types. You can also
use transaction VOTX. You should see an overview menu similar to the one in Figure 2. Let's concentrate on
the use of standard text in the billing document header, since billing
documents are often the ones that are
regularly distributed to customers.

Figure 2
Text determination overview menu
Step 1. Maintain text types. Text types serve as building blocks of the text-determination
procedure. Select the Header option under Billing text objects and click on the Text types button at
the top of the screen. Figure 3 demonstrates the creation of a new text type (Z002). Enter a Text ID
(e.g., Z002), followed by a description (e.g., Billing header – Sales Org), and click on the save icon
to save your changes. It is strongly suggested that you create new Text IDs that start with the letters Z or
Y.

Figure 3
Maintain text types
Step 2. Maintain access sequences. Access sequences represent the search strategies used to
determine the appropriate source of information for a particular text type. While back in the Maintain: Text
determination overview menu, click on the Access sequences button at the top of the screen. Create a new access
sequence by giving it a number and a description. Click on the Access sequences button to maintain the details of
the new access sequence. Figure 4 demonstrates a possible access sequence for the sales-organization-driven
standard text.

Figure 4
Maintain access sequences
TextName TEXT designates standard text as the source. Routine 92 that I created earlier is
assigned as the data transfer routine. It ensures that the standard text to be used is specific to each sales
organization. Save your changes and proceed back to the Maintain: Text determination overview menu.
Step 3. Maintain the text procedure. Click on the Text procedure button at the top of the
screen in Figure 2. Choose the appropriate text-determination procedure and click on the Texts in procedure button
to maintain the details. Assign the new text type and the relevant access sequence to the procedure and save your changes.
Figure 5 shows an example of a possible text-determination procedure for the billing document header.

Figure 5
Maintain a text procedure
While in the text procedure maintenance screen, go to the top menu Environment>Text procedure
usage to verify the text procedure assignment to document types. You are now done configuring text determination.
To maintain standard texts, proceed to
SAP menu path Logistics>Sales and Distribution>Master Data>Others>Word processing or use
transaction SO10. Maintain standard texts for each relevant sales organization using the naming convention that has
been outlined above in data transfer routine 92. Refer to Figure 6 for an example.

Figure 6
Maintain standard texts
Since the content of these standard texts will more than likely be driven by sales or marketing personnel,
you can create a more rigid custom Z program and
transaction code to provide users with
reasonable access to change standard texts. Considering the naming convention for standard texts that I've
chosen, it would be easy to set up authorizations by sales organization for each of the standard texts. Functional team
members can then create standard texts through transaction SO10. The sales and marketing personnel can maintain the
texts through a Z transaction code. Figure 7 is an example of a possible interface for such a program.

Figure 7
Custom transaction for editing
Once you create a billing document, the Z002 text type calls the appropriate standard text, based
on the sales organization (e.g., Z_TEXT_SALESORG_1000).
Text type Z002 is available in the billing document header text. You access it by going to
transaction codes VF01/VF02/VF03. Once you are in the billing document overview, go to the top menu
Goto>Header>Header Texts.
However, if the business needs to
physically output this text on an output document such as a printed customer invoice, the SAPscript form and
the relevant print program have to be changed to indicate where on the page the text should be placed. For example, the
standard text might appear in a box labeled "A message to our customers" at the bottom of the first page.
The print program has to be modified by a developer to call the content of the text type Z002 and
pass it to the SAPscript form. Figure 8 is an example of such a call. The actual content of the message is
dynamically determined from the appropriate standard text, based on the sales organization.

Figure 8
Include a text type
The advantage is that you can create different standard texts (e.g., Z_TEXT_SALESORG_1000,
Z_TEXT_SALESORG_1100, etc.) and maintain them centrally in a production R/3 environment, all pointing to a single
Z002 text type. The text is automatically pulled into the header text of the billing document through the use of
text determination, and, if the necessary SAPscript changes have been done, automatically appears on output documents. It
is no longer necessary to modify SAPscript every time a new Z_TEXT_SALESORG_XXXX standard text is created.
Anton Karnaukhov
Anton Karnaukhov is a senior IT manager at Pacific Coast Companies, Inc., in Sacramento, California. He earned an MBA degree at Heriot-Watt University and a BS/BA degree with a specialization in computer information systems at Western Carolina University. Anton has more than eight years of SAP implementation and development experience focusing on business intelligence and logistics modules in the manufacturing and resale industries.
You may contact the author at anton.karnaukhov@paccoast.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.