SAP AG CSU Chico MINS298c ABAP/4 Programming Introduction to Data Types Chapter 4 Fall 1998
SAP AG CSU Chico Overview Introduction Declaration Data Types elementary complex Working with Data Types
SAP AG CSU Chico Data Objects Data Object VariableFixed ??
SAP AG CSU Chico Data Objects Data Object VariableFixed LiteralsConstants
SAP AG CSU Chico Fixed Data Objects (Constants and Literals) CONSTANTS: company_name(3) type c value ‘SAP’. Literals are inside quotes WRITE: ‘Happiness is SAP’.
SAP AG CSU Chico Hierarchy Variable Data Objects Table RecordField Table is made up of Records(s) is made up of have a structure Field(s) is made up of characters have a type
SAP AG CSU Chico Fields are Variables may be declared at any point within the program may use up to 30 characters in name may use hyphen, but prefer dash for readability may not use an ABAP reserved word follow rules of scope definition
SAP AG CSU Chico Normal Scope Program DATA A, B, C Form DATA X, Y, Z Form DATA D, E, F Write A Write F Write A Write F Write A Write F According to normal rules of “scope,” which Write statements are legal and which are not? Line
SAP AG CSU Chico Data Types User defined Pre-defined (p,i,f,c,n,d,t,x) ElementaryStructured Structured typeTable type
SAP AG CSU Chico Data Types User defined Pre-defined (p,i,f,c,n,d,t,x) ElementaryStructured Structured typeTable type
SAP AG CSU Chico Pre-defined Types (with default length and value) Character DefaultJustify c 1 space left n 1 ‘0’ left Numbers i 4 0 right p 8 0 right f right Date (d) 8 ‘ ’ left Time (t) 6 ‘000000’ left Hexadecimal (x) 1 ‘00’ left
SAP AG CSU Chico Data Types User defined Pre-defined (p,i,f,c,n,d,t,x) ElementaryStructured Structured typeTable type
SAP AG CSU Chico Three Ways to Declare Types pre-defined elementary types non-elementary types existing fields
SAP AG CSU Chico Types and Data Statement DATA var[(length)] [TYPE type] [DECIMALS num] [VALUE init] TYPES BEGIN OF rec-name [fieldname]… END OF rec-name DATA var LIKE table-field [VALUE init]
SAP AG CSU Chico Similar Declarations Data: customer_name(25) type c, vendor_name(25) type c. TYPES name(25) type c. DATA: customer_name type name, vendor_name type name. DATA: customer_name(25) type c, vendor_name LIKE customer_name.
SAP AG CSU Chico What are the defaults here? What are the default type and length of ‘flag’ and of ‘my_number’? DATA: flag, my_number. What is contained in ‘c_alpha’ and ‘n_alpha’? DATA: c_alpha(3) type c value ‘5’, n_alpha(3) type n value ‘5’.
SAP AG CSU Chico Character: C vs N C = justifies left and has trailing blanks N = justifies right and has leading zeroes What happens with: DATA: var-1(4) type c value ‘1234’, var-2(4) type n value ‘1234’. WRITE:/ var-1, var-2.
SAP AG CSU Chico What are the defaults here? What is contained in ‘c_alpha’ and ‘n_alpha’? DATA: c_alpha(3) type c value ‘5’, n_alpha(3) type n value ‘5’.
SAP AG CSU Chico Numbers i - cannot have explicit length p - 15 digits, can explicitly define decimal places DATA Dollars TYPE p DECIMALS 2. f - handles exponential, subject to rounding errors sometimes (1.0/3.0)*3.0 is not 1.0
SAP AG CSU Chico Dates and Times Date = d stored as YYYYMMDD with initial value of Time = t stored as HHMMSS with Why store in this format?
SAP AG CSU Chico Which is easier to sort? 01/01/58 01/20/58 01/01/60 12/01/97 01/20/
SAP AG CSU Chico Computations on Dates DATA my_date LIKE sy-datum. MOVE to my_date. my_date = my_date - 1. Write:\ my_date. Displays
SAP AG CSU Chico Offset and Length Format One may address sub-parts of elementary data objects by specifying the offset and length !!! MOVE sy-datum+6(2) to hold_day sy-datum(0)sy-datum(6)
SAP AG CSU Chico Parameter Statement Parameter statement creates a set of variable fields which are presented to the user for input on the selection screen. PARAMETERS var TYPE type [DEFAULT value]
SAP AG CSU Chico Data Types User defined Pre-defined (p,i,f,c,n,d,t,x) ElementaryStructured Structured typeTable type
SAP AG CSU Chico Records records or structures are called field strings in ABAP use BEGIN OF and END OF nesting is allowed use TYPES command
SAP AG CSU Chico Field String Types TYPES : BEGIN OF ADDRESS, street(20) type c, city(20) type c, state(10) type c, zip type I, END OF ADDRESS. How large (in characters) is the record ADDRESS?
SAP AG CSU Chico Using Field String Types TYPES : BEGIN OF ADDRESS, street(20) type c, city(20) type c, state(10) type c, zip type I, END OF ADDRESS. DATA: Old_Address TYPE Address, New_Address TYPE Address. MOVE Old_Address to New_Address.
SAP AG CSU Chico Using Field String Types TYPES : BEGIN OF ADDRESS, street(20) type c, city(20) type c, state(10) type c, zip type I, END OF ADDRESS. DATA: Old_Address TYPE Address, New_Address TYPE Address. Old_Address Street City State Zip Old_Address-Zip Old_Address-City
SAP AG CSU Chico Data Types User defined Pre-defined (p,i,f,c,n,d,t,x) ElementaryStructured Structured typeTable type
SAP AG CSU Chico Creating Tables Use the occurs statement not necessary to identify the amount, may use zero (0). Format TYPES tablename TYPE type OCCURS 0. Example TYPES Address_Table TYPE ADDRESS OCCURS 0. Really creates the structure which will be allocated and maintained dynamically.
SAP AG CSU Chico Declarative Statements DATA TYPE CONSTANTS PARAMETERS
SAP AG CSU Chico Assignments Create program(s) to demonstrate the justification difference between the n and c types determine whether or not our system has a rounding error in the fixed point arithmetic find the difference between the current date and your birthday prove that one day before 01/01/98 is 12/31/97 using the ABAP date types use the parameter statement to interactively ask for two dates and display the difference between them.