1 / 33

MINS298c ABAP/4 Programming

MINS298c ABAP/4 Programming. Introduction to Data Types Chapter 4 Fall 1998. Overview. Introduction Declaration Data Types elementary complex Working with Data Types. Data Objects. Data Object. Fixed. Variable. ?. ?. Data Objects. Data Object. Fixed. Variable. Literals.

masao
Download Presentation

MINS298c ABAP/4 Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MINS298cABAP/4 Programming Introduction to Data Types Chapter 4 Fall 1998

  2. Overview • Introduction • Declaration • Data Types • elementary • complex • Working with Data Types

  3. Data Objects Data Object Fixed Variable ? ?

  4. Data Objects Data Object Fixed Variable Literals Constants

  5. Fixed Data Objects (Constants and Literals) CONSTANTS: company_name(3) type c value ‘SAP’. Literals are inside quotes WRITE: ‘Happiness is SAP’.

  6. HierarchyVariable Data Objects Table Record Field Table is made up of Records(s) is made up of have a structure Field(s) is made up of characters have a type

  7. 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

  8. Program DATA A, B, C Write A Write F Form DATA X, Y, Z Write A Write F Form DATA D, E, F Write A Write F Normal Scope Line 1 2 3 4 5 6 According to normal rules of “scope,” which Write statements are legal and which are not?

  9. Data Types Pre-defined (p,i,f,c,n,d,t,x) User defined Elementary Structured Structured type Table type

  10. Data Types Pre-defined (p,i,f,c,n,d,t,x) User defined Elementary Structured Structured type Table type

  11. Pre-defined Types(with default length and value) • Character Default Justify • c 1 space left • n 1 ‘0’ left • Numbers • i 4 0 right • p 8 0 right • f 8 0.0 right • Date (d) 8 ‘00000000’ left • Time (t) 6 ‘000000’ left • Hexadecimal (x) 1 ‘00’ left

  12. Data Types Pre-defined (p,i,f,c,n,d,t,x) User defined Elementary Structured Structured type Table type

  13. Three Ways to Declare Types • pre-defined elementary types • non-elementary types • existing fields

  14. 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]

  15. 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.

  16. 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’.

  17. 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.

  18. 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’.

  19. 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

  20. Dates and Times • Date = d stored as YYYYMMDD with initial value of 00000000 • Time = t stored as HHMMSS with 000000 • Why store in this format?

  21. 01/01/58 01/20/58 01/01/60 12/01/97 01/20/00 19580101 19580120 19600101 19971201 20000120 Which is easier to sort?

  22. Computations on Dates DATA my_date LIKE sy-datum. MOVE 19580420 to my_date. my_date = my_date - 1. Write:\ my_date. Displays 19580419

  23. 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 1 9 5 8 0 4 2 0 sy-datum(0) sy-datum(6)

  24. 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]

  25. Data Types Pre-defined (p,i,f,c,n,d,t,x) User defined Elementary Structured Structured type Table type

  26. Records • records or structures are called field strings in ABAP • use BEGIN OF and END OF • nesting is allowed • use TYPES command

  27. 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?

  28. 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.

  29. 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-City Old_Address-Zip

  30. Data Types Pre-defined (p,i,f,c,n,d,t,x) User defined Elementary Structured Structured type Table type

  31. 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.

  32. Declarative Statements • DATA • TYPE • CONSTANTS • PARAMETERS

  33. 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.

More Related