Skip to end of metadata
Go to start of metadata

Introduction

GuiXT is a client-server based software technology that provides user interface customization solutions to SAP applications. While designed specifically for use with SAP software, and completely integrated with the SAP GUI environment, GuiXT (scripting language) solutions operate independently of SAP applications. That enables firms to tailor SAP transaction screens to the narrower requirements of specific jobs within the organization while leaving essential SAP coding (ABAP and Dynpros) untouched. This technology design significantly reduces development and testing. Users of GuiXT Solutions report greatly improved productivity and accuracy, while at the same time reducing training and support costs.

The GuiXT scripting language is written in C++ programming language, and has about fifty-five total commands. GuiXT was exclusively developed for use with SAP business logic and its core programming language, ABAP. Moreover, it was created as an alternative to ABAP or Java code changes, which typically require more resources, time, and testing before deploying to end-users. Since it is a scripting language it allows technical people as well as the SAP functional community to make changes to the SAP interface, such as enabling the behavior of the SAP application to be adapted to the user's needs, automating repetitive actions, changing terminology, customizing the user layout, hiding un-used SAP functionality, and consolidating multiple screen tabs and combing multiple business transactions into one seamless process.

Since SAP Release 4.6B, GuiXT scripts may be created inside Screen Variants (transactions SHD0 and SHDI).

Be careful

GuiXT is deactivated by default. Each user must activate it from SAPGUI screen, choose the pushbutton 'Adjust local layout' (or Alt-F12) in the standard toolbar of the SAP system and then choose "Activate GuiXT".

More information:

Comparison between Screen Variant and GuiXT

Functionality

Available in
Screen Variant?

Available
in GuiXT?

Set default value

Yes

Yes

Hide field

Yes

Yes

Hide table column

Yes

Yes

Change input field to read-only

Yes

Yes

Move field

No

Yes

Insert box

No

Yes

Insert picture

No

Yes

Substitute input field by radiobuttons

No

Yes

Add a little red sign in front of an input field (means "mandatory")

No

Yes

Commands

(Source: sap library)

Command

Description

Example

Box

 

Box (1,1) (6,54) "Welcome to R/3"

call

To create variable "NumPersNr" with zeroes at the beginning

call "alphanum" "dll=Q:\Sapguixt\GuiXT\dll\guixtstring.dll" "In=&[Personal Number]" "In=8" "Out=NumPersNr" image (0,35) (8,62) "c:\demo\&[NumPersNr].gif" "-plain"

ColumnOrder

Since the table is used to check the number of available seats for each flight, you can make the following adjustments: Move the Occupied column to the second position, and the Capacity column to the third position

ColumnOrder [Occupied] 2
ColumnOrder [Capacity] 3

ColumnWidth

Increase the width of the Date column to make it better readable

ColumnWidth [Date] 15

ColumnHeader

Write out in full the FlgtPrice heading

ColumnHeader [FlgtPrice] "Flight Price"

Default

 

Default [Order type] "OR"

del

to remove fields, field groups, pushbuttons, radio buttons, and checkboxes from the screen

del [screen element]

del

The command del [Distance] also deletes the associated input field. There is also the possibility to delete fields by specifying the position

del #[5,62]

if

 

if Q[Transaction=MM01]
   view (15,40) (25,100) "Matstamm.htm"
endif

image

Displays an image (on the right-hand side of the screen in this example)

image (0,35) (8,62) "c:\demo\flight.gif" "-plain"

ListImage

GuiXT Images in ABAP lists: execute abap statement WRITE '@Ci(mypicture)', "mypicture.gif" will be displayed

LISTIMAGE "@Ci" (0,0) (6,50) "C:\GuiXT\Images\&par.gif" "-NoStretch"

Mark

Add a little red sign in front of an input field (means "mandatory")

mark [Sparte]

Offset

 

Offset (6,32)

pos

Position the Arrival time field below the Departure field

pos [Arrival time] (7,0)

pos

Move the table in the bottom part of the screen further down to make room for an image

pos T[Table] (11,0)

RadioButton

 

Box (0,0) (5,30) "Order type"
RadioButton (1,1) "Standard order" [Order type] "OR"
RadioButton (2,1) "Standard order" [Order type] "OR"
Default [Order type] "OR"

Text

Replace text "Company code" by "Subsidiary"

Text [Company code] "Subsidiary"

View

Inserts an html page

View (14.3,0.5) (40,100) "http://www.synactive.com"

Troubleshooting

If you get the error RFC_ERROR_SYSTEM_FAILURE, with information that user or password is incorrect, while entering a screen where a screen variant with GUIXT is defined, and you think the user and password are correct in the GuiXT profile parameters, then the issue is probably that the password contains letters in lower case and you didn't enter it between double quotes! For example, if the password is init, then you must enter it "init". For more information, see this thread, and Note 180886 - GuiXT: Script download RFC error.

2 Comments

  1. Unknown User (vpyms2x)

    There are few inconsistencies and inaccurate data and description about GuiXT in this Wiki. How can I suggest the corrections?

  2. This tutorial gives some overview on how to use GuiXT http://www.synactive.com/tutor_e/lesson00.html