function alv程序(練習3)

  • 程序名 :ZABAP1903_07FUNCTIONALV
  • 主界面
*&---------------------------------------------------------------------*
*& Report  ZABAP1903_07FUNCTIONALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZABAP1903_07FUNCTIONALV.

INCLUDE ZLPJ_TOP.
INCLUDE ZLPJ_FORM.

*START-OF-SELECTION 下面是獲取數(shù)據(jù)   END-OF-DEFINITION  下面是顯示數(shù)據(jù)
START-OF-SELECTION .
  PERFORM GET_DATA.

END-OF-SELECTION.
  IF GT_STUDENT IS NOT INITIAL.      "在ZLPJ_TOP里面定義一個內(nèi)表,用來對數(shù)據(jù)的輸出
    PERFORM DISPLAY_DATA.
  ELSE.
    MESSAGE S000(LPJ) WITH 'NO DATA!' DISPLAY LIKE 'E'.
  ENDIF.
  • include top

*&---------------------------------------------------------------------*
*&  Include           ZLPJ_TOP
*&---------------------------------------------------------------------*

TYPE-POOLS SLIS.                             "所有的數(shù)據(jù)都來自于該類型池。


TYPES: BEGIN OF GTY_STUDENT.
TYPES: BOX TYPE C LENGTH 1.                   " 聲明一個字段,功能:ALV報表的所有字段前面添加一個選中的按鈕
        INCLUDE STRUCTURE ZSTUDENT_LPJ_01.
TYPES: ICON  TYPE C LENGTH 10.                "增加一個ICON的圖標列
TYPES: CHECK TYPE C LENGTH 3.                 "增加一個復選框
TYPES: LINE_COLOR TYPE C LENGTH 4.            "增加顏色

TYPES: FIELD_COLOR TYPE LVC_T_SCOL.           "定義一個內(nèi)表倚聚,用來存放不同字段的不同顏色值  設置單元格顏色  參照的類型記住
TYPES: END OF GTY_STUDENT.

DATA: GT_STUDENT TYPE TABLE OF GTY_STUDENT,
      GS_STUDENT TYPE GTY_STUDENT.

*FUNTION AVL
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,  "列屬性
      GS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

*LAYOUT是一個結(jié)構(gòu),存儲整個b表單的全局設置****************************************************************************
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.        " 全局參數(shù)

DATA: GT_SORT TYPE SLIS_T_SORTINFO_ALV,      "排序
      GS_SORT TYPE SLIS_SORTINFO_ALV.

DATA: GT_FILTER TYPE SLIS_T_FIELDCAT_ALV,
      GS_FILTER TYPE SLIS_FIELDCAT_ALV.

DATA: GT_EVENTS TYPE SLIS_T_EVENT,           "CALLBACK事件
      GS_EVENTS  TYPE SLIS_ALV_EVENT.

*創(chuàng)建 宏                                     "宏里面?zhèn)鬟f的參數(shù)使用 & + 數(shù)字 :代表占位符;一個宏中最多可以定義9個參數(shù)
DEFINE %%APPEND_FIELDCAT.                    "&&開頭沉唠,易于和其他變量區(qū)分
  CLEAR GS_FIELDCAT.
  GS_FIELDCAT-COL_POS   = &1.
  GS_FIELDCAT-FIELDNAME = &2.
  GS_FIELDCAT-OUTPUTLEN = &3.
  GS_FIELDCAT-SELTEXT_M = &4.

  CASE &2.
    WHEN 'ZCODE'.
      GS_FIELDCAT-KEY  = 'X'.                 "設置為主鍵的那一列會變顏色
    WHEN 'ICON'.
      GS_FIELDCAT-ICON = 'X'.
    WHEN 'CHECK'.
      GS_FIELDCAT-CHECKBOX = 'X'.
      GS_FIELDCAT-EDIT     = 'X'.            "可編輯狀態(tài)
    WHEN 'WEIGH'.
      GS_FIELDCAT-DO_SUM     = 'X'.             "當選中weigh列的時候焊夸,進行合計 (do_sum:只能用于數(shù)字類型I,P)
      GS_FIELDCAT-HOTSPOT    = 'X'.             "熱點:光變會發(fā)生變化   給指定的字段設置熱點恼五,在LAYOUT里面給關(guān)鍵字設置熱點
      GS_FIELDCAT-QFIELDNAME = 'ZUNIT'.         "內(nèi)表中標明當前數(shù)值的單位的字段    (在表中WEIGH字段對應的單位的字段)
      GS_FIELDCAT-EMPHASIZE  = 'C610'.          "列 顏色設置:C+X(顏色1~7)+X(事否加重0/1)+X(是否反色0/1),第三位表明是字體還是底紋
    WHEN 'ZUNIT'.
      GS_FIELDCAT-EMPHASIZE  = 'C600'.
  ENDCASE.

  APPEND GS_FIELDCAT TO GT_FIELDCAT.
END-OF-DEFINITION.
  • include form
" DISPLAY_DATA
*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_DATA .

  DATA: LS_SCOL TYPE LVC_S_SCOL.

  SELECT *
    FROM ZSTUDENT_LPJ_01
    INTO CORRESPONDING FIELDS OF TABLE GT_STUDENT.                      "GT_STUDENT中數(shù)據(jù)的輸出昌罩,通過函數(shù)里面的export中的table輸出

  LOOP AT GT_STUDENT INTO GS_STUDENT.
*圖標
    IF GS_STUDENT-SEX = 'F'.
      GS_STUDENT-ICON = ICON_GREEN_LIGHT.                               " 通過ICON事物碼去查看圖標
    ELSE.
      GS_STUDENT-ICON = ICON_RED_LIGHT.
    ENDIF.

*行顏色        zname為空值的行設置顏色   顏色設置屬于layout,
    IF GS_STUDENT-ZNAME IS INITIAL.
      GS_STUDENT-LINE_COLOR = 'C610'.
    ENDIF.

*單元格顏色                              顏色設置屬于layout灾馒,
    "1. 給性別字段增加顏色
    IF GS_STUDENT-SEX IS INITIAL.
      CLEAR LS_SCOL.
      LS_SCOL-FNAME = 'SEX'.     "字段
      LS_SCOL-COLOR-COL = 6.    "顏色
      LS_SCOL-COLOR-INT = 1.    "加重
      LS_SCOL-COLOR-INV = 0.    "反色
      APPEND LS_SCOL TO GS_STUDENT-FIELD_COLOR.
    ENDIF.

    "1. 給姓名字段增加顏色
    IF GS_STUDENT-ZUNIT IS INITIAL.
      CLEAR LS_SCOL.
      LS_SCOL-FNAME = 'ZUNIT'.     "字段
      LS_SCOL-COLOR-COL = 1.    "顏色
      LS_SCOL-COLOR-INT = 1.    "加重
      LS_SCOL-COLOR-INV = 1.    "反色
      APPEND LS_SCOL TO GS_STUDENT-FIELD_COLOR.
    ENDIF.
    MODIFY GT_STUDENT FROM GS_STUDENT.
  ENDLOOP.
ENDFORM.                    " GET_DATA

*&---------------------------------------------------------------------*
*&  Include           ZLPJ_FORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Form  DISPLAY_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .
  PERFORM  BUILD_FIELDCAT.     "給GT_FIELDCAT內(nèi)表 增加數(shù)據(jù)(可以查看)   fieldcat:輸出列     使用宏和perform都可以
  PERFORM  BUILD_LAYOUT.       "LAYOUT是一個結(jié)構(gòu),,存儲的是整個表單的全局設置
  PERFORM  BUILD_SORT.
*  PERFORM  BUILD_FILTER.      "未實現(xiàn)

  PERFORM BUILD_EVENTS.
  PERFORM  BUILD_ALV.
ENDFORM.

*&---------------------------------------------------------------------*
*&      Form  BUILD_ALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_ALV .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
*     I_INTERFACE_CHECK           = ' '
*     I_BYPASSING_BUFFER          = ' '
*     I_BUFFER_ACTIVE             = ' '
      I_CALLBACK_PROGRAM          = SY-CPROG               "Name of the calling program:Name of the calling program茎用;SY-CPROG:調(diào)用程序名 (call program)
      I_CALLBACK_PF_STATUS_SET    = 'SET_STATUS'           " 不需要再去傳參: IT_EVENTS = GT_EVENTS;二選一
      I_CALLBACK_USER_COMMAND     = 'FM_USER_COMMAND'
*     I_CALLBACK_TOP_OF_PAGE      = 'FM_TOP_OF_PAGE'       "或者使用event事件  添加表頭
      I_CALLBACK_HTML_TOP_OF_PAGE = 'FM_HTML_TOP_OF_PAGE'  "動態(tài)添加表頭   (動態(tài)優(yōu)先級大于靜態(tài))
*     I_CALLBACK_HTML_END_OF_LIST = ' '
*     I_STRUCTURE_NAME            =
*     I_BACKGROUND_ID             = ' '
      I_GRID_TITLE                = 'ALV報表的title'
*     I_GRID_SETTINGS             =
      IS_LAYOUT                   = GS_LAYOUT
      IT_FIELDCAT                 = GT_FIELDCAT                   "進入函數(shù),根據(jù)字段描述查找
*     IT_EXCLUDING                =
*     IT_SPECIAL_GROUPS           =
      IT_SORT                     = GT_SORT
*     IT_FILTER                   = GT_FILTER
*     IS_SEL_HIDE                 =
*     I_DEFAULT                   = 'X'
*     I_SAVE                      = ' '
*     IS_VARIANT                  =
      IT_EVENTS                   = GT_EVENTS
*     IT_EVENT_EXIT               =
*     IS_PRINT                    =
*     IS_REPREP_ID                =
*     I_SCREEN_START_COLUMN       = 0
*     I_SCREEN_START_LINE         = 0
*     I_SCREEN_END_COLUMN         = 0
*     I_SCREEN_END_LINE           = 0
*     I_HTML_HEIGHT_TOP           = 0
*     I_HTML_HEIGHT_END           = 0
*     IT_ALV_GRAPHICS             =
*     IT_HYPERLINK                =
*     IT_ADD_FIELDCAT             =
*     IT_EXCEPT_QINFO             =
*     IR_SALV_FULLSCREEN_ADAPTER  =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER     =
*     ES_EXIT_CAUSED_BY_USER      =
    TABLES
      T_OUTTAB                    = GT_STUDENT
    EXCEPTIONS
      PROGRAM_ERROR               = 1
      OTHERS                      = 2.
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.

ENDFORM.                    " BUILD_ALV
*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*

"向GT_FIELDCAT 內(nèi)表加入行后,會執(zhí)行函數(shù),將其GT_FIELDCAT輸給IT_FIELDCAT睬罗,用于規(guī)定ALV表單輸出的時候每一列的基本屬性轨功,用于輸出GT_STUDENT,通過GET_DATA,給GT_STUDENT進行數(shù)據(jù)的增加容达。
FORM BUILD_FIELDCAT .
*創(chuàng)建宏之后古涧,使用
  %%APPEND_FIELDCAT: '1' 'ZCODE'   '10' '學生編號',
                     '2' 'ZNAME'   '20' '姓名',
                     '3' 'SEX'     '3'  '學生性別',
                     '4' 'ZSCHOOL' '20' '學生所在學校',
                     '5' 'WEIGH'   '15' '體重',
                     '6' 'ZUNIT'   '10' '單位',
                     '7' 'ICON'    '10' '圖標',
                     '8' 'CHECK'   '3'  '復選框'.




ENDFORM.                    " BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*&      Form  BUILD_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_LAYOUT .
  GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.       "優(yōu)化列寬,自適應花盐,覆蓋之前設置的length
  GS_LAYOUT-ZEBRA             = 'X'.       "設置斑馬紋
  GS_LAYOUT-KEY_HOTSPOT = 'X'.             "給關(guān)鍵字設置熱點
  GS_LAYOUT-BOX_FIELDNAME = 'BOX'.         "內(nèi)表中字段名稱- 定義為當前的選擇按鈕

  GS_LAYOUT-DETAIL_INITIAL_LINES = 'X'.    "運行羡滑,選擇詳細按鈕查看詳細信息的時候菇爪,會顯示所有字段的信息,即使該字段為空柒昏,也會顯示

  GS_LAYOUT-WINDOW_TITLEBAR = '窗體抬頭'.  "修改程序名
  GS_LAYOUT-CONFIRMATION_PROMPT = 'X'.     "推出的時候提示是否退出的確認框    CONFIRMATION:確認,  PROMPT:提示

*顏色
  GS_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.  "以行位單位進行設置顏色

  GS_LAYOUT-COLTAB_FIELDNAME = 'FIELD_COLOR'."單元格顏色
ENDFORM.                    " BUILD_LAYOUT
*&---------------------------------------------------------------------*
*&      Form  BUILD_SORT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_SORT .

**按照學校升序
  CLEAR GS_SORT.
  GS_SORT-SPOS      = '1'.
  GS_SORT-FIELDNAME = 'ZSCHOOL'.
  GS_SORT-UP        = 'X'.
  GS_SORT-SUBTOT    = 'X'.   " 小計凳宙,根據(jù)不同的單位去計算
  APPEND GS_SORT TO GT_SORT.

*按照性別降序
  CLEAR GS_SORT.
  GS_SORT-SPOS = '2'.        "在學校升序的基礎上對性別進行降序
  GS_SORT-FIELDNAME = 'ZNAME'.
  GS_SORT-DOWN        = 'X'.
  APPEND GS_SORT TO GT_SORT.
ENDFORM.                    " BUILD_SORT
*&---------------------------------------------------------------------*
*&      Form  BUILD_FILTER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_FILTER .
*該功能沒有實現(xiàn)
*  CLEAR GS_FILTER.
*  GS_FILTER-FIELDNAME = 'SEX'.  "字段名
*  GS_FILTER-SIGN0 = 'E'.        "不包含
*  GS_FILTER-OPTIO = 'EQ'.       "等于
*  GS_FILTER-VALUF = ''.         "空值
*  APPEND GS_FILTER TO GT_FILTER.
ENDFORM.                    " BUILD_FILTER
*&---------------------------------------------------------------------*
*&      Form  BUILD_EVENTS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_EVENTS .

*前兩個可以在function里面單獨用,不需要再event事件里面可以

*添加按鈕
  CLEAR GS_EVENTS.
  GS_EVENTS-NAME = 'PF_STATUS_SET'.                        "打開函數(shù)昙楚, IMPORTING里面找IT_EVENTS事件近速,查看長文本描述
  GS_EVENTS-FORM = 'SET_STATUS'.                           "form是一個子程序,需要在程序中聲明這個子程序
  APPEND GS_EVENTS TO GT_EVENTS.CLEAR GS_EVENTS.

*添加點擊事件
  CLEAR GS_EVENTS.
  GS_EVENTS-NAME = 'USER_COMMAND'.
  GS_EVENTS-FORM = 'FM_USER_COMMAND'.
  APPEND GS_EVENTS TO GT_EVENTS.

*添加表頭
  CLEAR GS_EVENTS.
  GS_EVENTS-NAME = 'TOP_OF_PAGE'.
  GS_EVENTS-FORM = 'FM_TOP_OF_PAGE'.
  APPEND GS_EVENTS TO GT_EVENTS.

ENDFORM.                    " BUILD_EVENTS


*添加表頭
FORM FM_TOP_OF_PAGE.
  DATA: LT_HEADER TYPE SLIS_T_LISTHEADER,                    "函數(shù)里面的events字段代碼的453行
        LS_HEADER TYPE SLIS_LISTHEADER.

  CLEAR LS_HEADER.
  LS_HEADER-TYP = 'H'.                                      "當類型為H的時候诈嘿,不需要key   三種類型:H = Header, S = Selection, A = Action
  LS_HEADER-INFO = '學生信息表'.
  APPEND LS_HEADER TO LT_HEADER.

  CLEAR LS_HEADER.
  LS_HEADER-TYP = 'S'.
  LS_HEADER-KEY = '當前日期:'.
  LS_HEADER-INFO = SY-DATUM.
  APPEND LS_HEADER TO LT_HEADER.


  CLEAR LS_HEADER.
  LS_HEADER-TYP = 'A'.
  LS_HEADER-INFO = '可查看的學生信息'.
  APPEND LS_HEADER TO LT_HEADER.


*添加表頭調(diào)用的函數(shù)
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = LT_HEADER
*     I_LOGO             =
*     I_END_OF_LIST_GRID =
*     I_ALV_FORM         =
    .

ENDFORM .

FORM  SET_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.            "USING后面的參數(shù)和類型來源于長文本里面(上上條注釋)
  SET PF-STATUS 'STATUS' EXCLUDING RT_EXTAB.                   " 通過長文本描述來進行代碼編寫    設定一個自己的按鈕
ENDFORM.
*write語句定義按鈕堪旧,參考ZABAP1903_07screen_selectio程序,使用END-OF-SELECTION.



FORM FM_USER_COMMAND  USING R_UCOMM     LIKE SY-UCOMM
                            RS_SELFIELD TYPE SLIS_SELFIELD.          "通過長文本獲取using后面的參數(shù)
*單擊的對象是單元格(一個字段)奖亚,雙擊的對象是一行淳梦。                   R_UCOMM :按鈕的功能   (單擊的前提是設置熱點,雙擊不需要設置熱點)
  CASE R_UCOMM.
    WHEN '&IC1'.                                                     "單擊功能   通過debug可以查看單雙擊的代碼昔字,單雙擊的代碼是相同的
      CASE RS_SELFIELD-FIELDNAME.
        WHEN 'ZCODE'.                                                "有熱點的字段:單擊的前提是設置熱點(兩種方法)   單擊事件是在sy-ucomm中完成
          SET PARAMETER ID 'LIF' FIELD RS_SELFIELD-VALUE .           "將點擊的值帶入到該事務碼所在的字段里面 爆袍,在KF03事物碼對應的字段使用F1 查看parameters ID 的值 (LIF)。
          CALL TRANSACTION 'FK03'.
        WHEN 'WEIGH'.

        WHEN OTHERS.                                                "雙擊作郭,其他字段沒有設置熱點(一般單機在上陨囊,雙擊在下)
          "當前行的學校信息
          READ TABLE GT_STUDENT INTO GS_STUDENT INDEX RS_SELFIELD-TABINDEX.  " 在內(nèi)表中獲取點擊的行,傳入到結(jié)構(gòu)體中
          PERFORM DISPLAY_ALV_SCHOOL USING GS_STUDENT-ZSCHOOL.
      ENDCASE.

    WHEN 'CALLSF'.
      "PERFORM CALL_SMARTFORMS
    WHEN 'DOWNLOAD'.
      "PERFORM DOWNLOAD_FILE
  ENDCASE.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  DISPLAY_ALV_SCHOOL
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY_ALV_SCHOOL USING GS_STUDENT-ZSCHOOL.

  DATA: GT_SCHOOL TYPE TABLE OF ZSCHOOL_LPJ_01.

  SELECT *
    FROM ZSCHOOL_LPJ_01
    INTO CORRESPONDING FIELDS OF TABLE GT_SCHOOL
  WHERE ZSCHOOL = GS_STUDENT-ZSCHOOL.


  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                = ' '
*     I_BUFFER_ACTIVE  = ' '
*     I_CALLBACK_PROGRAM                = ' '
*     I_CALLBACK_PF_STATUS_SET          = ' '
*     I_CALLBACK_USER_COMMAND           = ' '
*     I_CALLBACK_TOP_OF_PAGE            = ' '
*     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*     I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME = 'ZSCHOOL_LPJ_01'
*     I_BACKGROUND_ID  = ' '
*     I_GRID_TITLE     =
*     I_GRID_SETTINGS  =
*     IS_LAYOUT        =
*     IT_FIELDCAT      =
*     IT_EXCLUDING     =
*     IT_SPECIAL_GROUPS                 =
*     IT_SORT          =
*     IT_FILTER        =
*     IS_SEL_HIDE      =
*     I_DEFAULT        = 'X'
*     I_SAVE           = ' '
*     IS_VARIANT       =
*     IT_EVENTS        =
*     IT_EVENT_EXIT    =
*     IS_PRINT         =
*     IS_REPREP_ID     =
*     I_SCREEN_START_COLUMN             = 0
*     I_SCREEN_START_LINE               = 0
*     I_SCREEN_END_COLUMN               = 0
*     I_SCREEN_END_LINE                 = 0
*     I_HTML_HEIGHT_TOP                 = 0
*     I_HTML_HEIGHT_END                 = 0
*     IT_ALV_GRAPHICS  =
*     IT_HYPERLINK     =
*     IT_ADD_FIELDCAT  =
*     IT_EXCEPT_QINFO  =
*     IR_SALV_FULLSCREEN_ADAPTER        =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =
    TABLES
      T_OUTTAB         = GT_SCHOOL
    EXCEPTIONS
      PROGRAM_ERROR    = 1
      OTHERS           = 2.
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.

ENDFORM.                    " DISPLAY_ALV_SCHOOL


*動態(tài)添加表頭
FORM FM_HTML_TOP_OF_PAGE USING PR_DOCUMENT TYPE REF TO CL_DD_DOCUMENT.  "參照一個類聲明一個對象用: REF TO 夹攒;  CL_DD_DOCUMENT:類蜘醋; PR_DOCUMENT:對象
*如果用參照類型里面的內(nèi)容,一定要使用參數(shù):using(列如:參照內(nèi)表咏尝,下面可以給這個內(nèi)表里面的某個字段賦值压语,沒有使用using參數(shù),就不行)




*方法和屬性:
  "1. 屬性:常量:Constant和變量:Instance Attribute编检,
  " 區(qū)別:常量使用雙線箭頭(類名=>常量)胎食,變量使用單線箭頭(對象名->變量名)
  "2. 方法:Instance Method和Static Method ,
  " 區(qū)別:Instance Method使用單項箭頭(對象名->方法名)允懂,Static Method 使用雙向箭頭(類名=>方法名)


  DATA: LV_DATUM TYPE SDYDO_TEXT_ELEMENT.           "定義變量厕怜,參照text類型
  CALL METHOD PR_DOCUMENT->ADD_TEXT                 "ADD_TEXT:方法
    EXPORTING                                       "因為ADD_TEXT方法在PR_DOCUMENT類中的parameters里面是importing
      TEXT      = '學生信息表'                      "可以通過類名直接進入類中查看方法的參數(shù),也可以使用事物碼se24
      SAP_STYLE = CL_DD_DOCUMENT=>SUCCESS.         "SAP_STYLE =  CL_DD_DOCUMENT=>HEADING.

  CALL METHOD PR_DOCUMENT->NEW_LINE.

  CALL METHOD PR_DOCUMENT->ADD_TEXT
    EXPORTING
      TEXT         = '日期'
      SAP_FONTSIZE = CL_DD_DOCUMENT=>MEDIUM.

  CALL METHOD PR_DOCUMENT->ADD_GAP                               "添加一個空格
    EXPORTING
      WIDTH = 3.                                                 "中間留有3個空格


  WRITE SY-DATUM TO LV_DATUM USING EDIT MASK '__日__月____年'.    "類型轉(zhuǎn)換蕾总,因為add_text接收的是c類型
  CALL METHOD PR_DOCUMENT->ADD_TEXT
    EXPORTING
      TEXT         = LV_DATUM
      SAP_FONTSIZE = CL_DD_DOCUMENT=>MEDIUM.

  CALL METHOD PR_DOCUMENT->NEW_LINE.

  CALL METHOD PR_DOCUMENT->ADD_TEXT                     "ADD_TEXT:方法
    EXPORTING                                           "因為ADD_TEXT方法在PR_DOCUMENT類中的parameters里面是importing
      TEXT          = '學生信息表'                      "可以通過類名直接進入類中查看方法的參數(shù)酣倾,也可以使用事物碼se24
      SAP_FONTSTYLE = CL_DD_DOCUMENT=>HEADING.




  CALL METHOD PR_DOCUMENT->NEW_LINE.





  CALL METHOD PR_DOCUMENT->ADD_TEXT
    EXPORTING
      TEXT         = '鏈接'
      SAP_FONTSIZE = CL_DD_DOCUMENT=>MEDIUM.

  CALL METHOD PR_DOCUMENT->ADD_GAP                        "添加一個空格
    EXPORTING
      WIDTH = 3.                                          "中間留有3個空格

  CALL METHOD PR_DOCUMENT->ADD_LINK                       "添加一個鏈接
    EXPORTING
      NAME = '度娘'
      URL  = 'https://www.baidu.com/'
      TEXT = '度娘'.

ENDFORM.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谤专,隨后出現(xiàn)的幾起案子躁锡,更是在濱河造成了極大的恐慌,老刑警劉巖置侍,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件映之,死亡現(xiàn)場離奇詭異拦焚,居然都是意外死亡,警方通過查閱死者的電腦和手機杠输,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門赎败,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蠢甲,你說我怎么就攤上這事僵刮。” “怎么了鹦牛?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵搞糕,是天一觀的道長。 經(jīng)常有香客問我曼追,道長窍仰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任礼殊,我火速辦了婚禮驹吮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘晶伦。我一直安慰自己碟狞,他們只是感情好,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布婚陪。 她就那樣靜靜地躺著族沃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪近忙。 梳的紋絲不亂的頭發(fā)上竭业,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天,我揣著相機與錄音及舍,去河邊找鬼未辆。 笑死,一個胖子當著我的面吹牛锯玛,可吹牛的內(nèi)容都是我干的咐柜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼攘残,長吁一口氣:“原來是場噩夢啊……” “哼拙友!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起歼郭,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤遗契,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后病曾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牍蜂,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡漾根,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鲫竞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辐怕。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖从绘,靈堂內(nèi)的尸體忽然破棺而出寄疏,到底是詐尸還是另有隱情,我是刑警寧澤僵井,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布陕截,位于F島的核電站,受9級特大地震影響驹沿,放射性物質(zhì)發(fā)生泄漏艘策。R本人自食惡果不足惜蹈胡,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一渊季、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧罚渐,春花似錦却汉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至源织,卻和暖如春翩伪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谈息。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工缘屹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人侠仇。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓轻姿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親逻炊。 傳聞我的和親對象是個殘疾皇子互亮,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容