二维码

[基础语法] ABAP实现简单的结构嵌套及结构赋值

Twilight发表于 2014-03-29 23:08Twilight 最后回复于 2014-03-29 23:08 [复制链接] 4734 0

程序代码:
  1. TYPES:BEGIN OF ty_name,
  2.         firstname(10) TYPE c,
  3.         lastname(10) TYPE c,
  4.       END OF ty_name.
  5. TYPES:ty_age TYPE i.
  6. *定义ty_date类型,分为年月日
  7. TYPES:BEGIN OF ty_date,
  8.         year(4) TYPE c,
  9.         month(2) TYPE c,
  10.         day(2) TYPE c,
  11.       END OF ty_date.
  12. *定义日期类型的临时变量
  13. DATA date TYPE d.

  14. TYPES:ty_sfz(18) TYPE c,"身份证
  15.       ty_mobile(11) TYPE n,
  16.       ty_sex TYPE c,
  17.       ty_height(2) TYPE p DECIMALS 2,
  18.       ty_note TYPE string.

  19. *开始定义结构 BEGIN OF 结构类型 ..... END OF 结构类型.
  20. *增加一个create_date.
  21. TYPES:BEGIN OF ty_person,
  22.         name TYPE ty_name,
  23.         age TYPE ty_age,
  24.         create_date TYPE ty_date,
  25.         sfz TYPE ty_sfz,
  26.         mobile1 TYPE ty_mobile,
  27.         mobile2 TYPE ty_mobile,
  28.         sex TYPE ty_sex,
  29.         height TYPE ty_height,
  30.         note TYPE ty_note,
  31.       END OF ty_person.

  32. *定义输出类型
  33. TYPES:BEGIN OF ty_person_out,
  34.         name TYPE ty_name,
  35.         age TYPE ty_age,
  36.         year(4) TYPE c,
  37.         mobile1 TYPE ty_mobile,
  38.       END OF ty_person_out.

  39. *声明一个该类型的结构wa_person
  40. DATA wa_person TYPE ty_person.

  41. *再声明一个输出格式的结构wa_person_out
  42. DATA wa_person_out TYPE ty_person_out.

  43. *赋值,调用嵌套结构时,多层次调用
  44. wa_person-name-firstname = 'Damon'.
  45. wa_person-name-lastname = 'Vampire'.
  46. date = sy-datum.
  47. wa_person-create_date = date.
  48. wa_person-age = 25.
  49. wa_person-sfz = '1234567'.
  50. wa_person-mobile1 = '13811111111'.
  51. wa_person-mobile2 = '13422222222'.
  52. wa_person-sex = 'F'.
  53. wa_person-height = '1.75'.
  54. wa_person-note = 'Hi My Name is Damon,How are you?'.

  55. MOVE-CORRESPONDING wa_person TO wa_person_out.
  56. MOVE-CORRESPONDING wa_person-create_date TO wa_person_out.

  57. *显示:  调用嵌套结构时,多层次调用
  58. WRITE:'Name','Age','Year','Mobile1'.
  59. WRITE: / wa_person_out-name,wa_person_out-age,wa_person_out-year,wa_person_out-mobile1.
复制代码

运行结果:
abap结构嵌套及结构赋值例子.jpg
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表