With a BAPI call ("BAPI_MATERIAL_GETALL") I try to read additional data for a given material. The call works, but the output parameter is a data record. How can I address the fields in this record individually?

You can address them in two ways:

(a) using fixed numerical offset and length

(b) symbolically, using the SAP Data Dictionary

Please see our  Tips&Tricks No. 17 for (a) and Tips&Tricks No. 20 for (b). For an example dealing with tables and structured records please see Tutorial Nr. 5 for InputAssistant.

In order to work with symbolic names instead of numeric offsets, you need a valid RFC user in GuiXT profile, with authorizations

S_RFC: RFC_TYPE=FUGR, RFC_NAME=SIFD, ACTVT=16
S_DEVELOP
: DEVCLASS=*,OBJTYPE=TABL,OBJNAME=*,ACTVT=03

(see www.synactive.com->Documentation, "Remote Function Call"). GuiXT reads the SAP dictionary information via a BAPI call the first time symbolic fields are used in a script.