SAP 的CALL FUNCTION 函式彙總

leintor發表於2014-07-10
SAP 常用FUNCTION

BOM 展開函式

CS_BOM_EXPL_MAT_V2:只展開 BOM 的函式

  CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'

   EXPORTING

      capid = pm_capid   “應用程式 一般為 PP01

      datuv = pm_datuv   “通常為系統的當前日期

      mtnrv = pm_mtnrv   “要展開BOM 的物料

      mehrs = 'X'        “ x 表示多層展開﹐space 表示只展開第一層

      werks = pm_werks   “ 通常為 1000

   IMPORTING

      topmat = selpool

      dstst  = dstst_flg

   TABLES

      stb = stb          “展開的 BOM 存放在該內表

      matcat = matcat    “下面含有元件的物料存放在該內表

 

CS_BOM_EXPL_ KND_V1:展開與特性相關的特定款號的 BOM

   CALL FUNCTION 'CS_BOM_EXPL_ KND_V1'

   EXPORTING

      capid = pm_capid   “應用程式 一般為 PP01

      datuv = pm_datuv   “通常為系統的當前日期

      mtnrv = pm_mtnrv   “要展開BOM 的物料

      cuobj = vbap_wa-cuobj “與特性相關的組態

      mehrs = 'X'        “ x 表示多層展開﹐space 表示只展開第一層

      werks = pm_werks   “ 通常為 1000

   IMPORTING

      topmat = selpool

      dstst  = dstst_flg

   TABLES

      stb = stb          “展開的 BOM 存放在該內表

      matcat = matcat    “下面含有元件的物料存放在該內表

範例見系統報表程式 RCS12001

 

STATUS_TEXT_EDIT:獲取生產定單狀態

call function 'STATUS_TEXT_EDIT'

EXPORTING

flg_user_stat = 'X'

objnr = LO_OBJNR

only_active = 'X'

spras = sy-langu

IMPORTING

line = ls_statu

EXCEPTIONS

object_not_found = 01.

使用:objnr 狀態物件號,only_active 啟動的 ,

 

LAST_DAY_OF_MONTHS:獲取每個月的最後一天

CALL FUNCTION 'LAST_DAY_OF_MONTHS'

EXPORTING

day_in = date

IMPORTING

last_day_of_month = date1.

 

CONVERSION_EXIT_ALPHA_OUTPUT:去掉字串前面0

DEFINE alpha_minus.

call function 'CONVERSION_EXIT_ALPHA_OUTPUT'

exporting

input = &1

importing

output = &1.

END-OF-DEFINITION.

 

CONVERSION_EXIT_ALPHA_INPUT:前面加0

call function 'CONVERSION_EXIT_ALPHA_INPUT'

exporting

input = &1

importing

output = &1.

 

TH_DELETE_USER:踢使用者 

CALL FUNCTION 'CUT_2BYTES_STRINGS'

EXPORTING

I_STR = T_STR

I_LEN = 4

IMPORTING

O_STR = T_TXT04

T_STR 輸入字元 I_LEN 長度 T_TXT04輸出字元

 

 

 

SPELL_AMOUNT:金額轉換成英文

CALL FUNCTION 'SPELL_AMOUNT'

EXPORTING

AMOUNT = T_AMOUNT10

CURRENCY = 'RMB'

LANGUAGE = '1'

IMPORTING

IN_WORDS = S_AMWORD2

EXCEPTIONS

NOT_FOUND = 1

TOO_LARGE = 2

OTHERS = 3.

 

CLOI_PUT_SIGN_IN_FRONT:把SAP裡的負號放到前面來的函式

DATA : t(10) TYPE c VALUE '65465-' .

CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'

CHANGING

value = t.

write : t .

 

CONVERT_OTF : 將SAP文件(SAP Script)轉換成其它型別。

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

FORMAT = 'PDF'

IMPORTING

BIN_FILESIZE = FILE_LEN

TABLES

OTF = OTFDATA

LINES = PDFDATA

EXCEPTIONS

ERR_MAX_LINEWIDTH = 1

ERR_FORMAT = 2

ERR_CONV_NOT_POSSIBLE = 3

OTHERS = 4。

 

SD_VBAP_READ_WITH_VBELN:根據銷售訂單讀取表vbap中的資訊

引數:

    import:I_VBELN                 訂單號(必輸項)

           I_BYPASSING_BUFFER     是否迴避buffer

           I_REFRESH_BUFFER       是否清空buffer

    tables:ET_VBAPVB               不清楚其意義

           ET_VBAP                 vbap表

 

VIEW_MAINTENANCE_CALL:維護表檢視等

 引數:

    import:ACTION       S = Display U = Change T = Transport

            CORR_NUMBER  傳送號(上面的action是t)

            SHOW_SELECTION_POPUP   是否彈出選擇畫面

            VIEW_NAME    檢視名

            NO_WARNING_FOR_CLIENTINDEP  跨集團是否現實警告

            VARIANT_FOR_SELECTION   變式名

            CHECK_DDIC_MAINFLAG     察看是否為可維護物件

例子:

  CALL FUNCTION 'VIEW_MAINTENANCE_CALL'

    EXPORTING

      ACTION                       = 'U'          "更新

      SHOW_SELECTION_POPUP         = 'X'          "顯示選擇畫面

      VIEW_NAME                    = 'ZPPT000020' "表名

      NO_WARNING_FOR_CLIENTINDEP   = ' '          "不顯示警告

    EXCEPTIONS

      CLIENT_REFERENCE             = 1

      FOREIGN_LOCK                 = 2

      INVALID_ACTION               = 3

      NO_CLIENTINDEPENDENT_AUTH    = 4

      NO_DATABASE_FUNCTION         = 5

      NO_EDITOR_FUNCTION           = 6

      NO_SHOW_AUTH                 = 7

      NO_TVDIR_ENTRY               = 8

      NO_UPD_AUTH                  = 9

      ONLY_SHOW_ALLOWED            = 10

      SYSTEM_FAILURE               = 11

      UNKNOWN_FIELD_IN_DBA_SELLIST = 12

      VIEW_NOT_FOUND               = 13

      MAINTENANCE_PROHIBITED       = 14

      OTHERS                       = 15.

 

READ_TEXT/CREATE_TEXT:讀取長文字/建立長文字

  引數:

  Import:

    CLIENT:集團

    ID:文字ID(TTXID中定義)

    LANGUAGE:語言

    NAME:文字名字()

    OBJECT:文字物件(TTXOB中定義)

  Export:

    HEADER:文字的描述資訊

  Tables:

    LINES:文字內容

例子:讀取銷售訂單頭文字

     CALL FUNCTION 'READ_TEXT'

        EXPORTING

          ID                      = ‘Y001’

          LANGUAGE                = SY-LANGU

          NAME                    = ‘385’

          OBJECT                  = ‘VBBK’

        TABLES

          LINES                   = L_IT_LINES

        EXCEPTIONS

          ID                      = 1

          LANGUAGE                = 2

          NAME                    = 3

          NOT_FOUND               = 4

          OBJECT                  = 5

          REFERENCE_CHECK         = 6

          WRONG_ACCESS_TO_ARCHIVE = 7

          OTHERS                  = 8.

 

CONVERSION_EXIT_CUNIT_OUTPUT:根據語言決定單位的顯示

  引數:

    Import:

      INPUT:內部單位顯示方式

      LANGUAGE:語言程式碼

    Export:

      LONG_TEXT:單位的長文字

      OUTPUT:外部單位顯示方式

      SHORT_TEXT:單位的短文字

 

例子:單位顯示轉換

      CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

      EXPORTING

        INPUT          = ‘ST’

        LANGUAGE       = SY-LANGU

      IMPORTING

        OUTPUT         = L_OUT

      EXCEPTIONS

        UNIT_NOT_FOUND = 1

        OTHERS         = 2.

 

SJIS_DBC_TO_SBC:全形轉換為半形

  引數:

    Import:

      ALL:全部轉換

      ALPHABET_UPPER:A-Z轉換

      ALPHABET_LOWER:a-z轉換

      NUMERIC:0-9轉換

    Export:

      CONVERTED:轉換的字元個數

    Changing:

      TEXT:轉換結果

 

SJIS_SBC_TO_DBC:半形轉換為全形

  引數:

    Import:

      ALL:全部轉換

      ALPHABET_UPPER:A-Z轉換

      ALPHABET_LOWER:a-z轉換

      NUMERIC:0-9轉換

    Export:

      CONVERTED:轉換的字元個數

    Changing:

      TEXT:轉換結果

 

CO_R0_CHECK_DECIMAL_POINT:根據單位檢查資料的小數字

  引數:

    Import:

      I_QUANTITY:數量

      I_UNIT:單位

   例子:下面的例子會返回錯誤資訊,以為單位ST是不能有小數字的。

        CALL FUNCTION 'CO_R0_CHECK_DECIMAL_POINT'

          EXPORTING

            I_QUANTITY       = 3.2

            I_UNIT           =‘ST’

          EXCEPTIONS

            WRONG_DATA       = 1

            OTHERS           = 2.  

 

POSTAL_CODE_CHECK:檢查郵政編碼

  引數:

    Import:

      COUNTRY:國家(T005)----------必輸

      ONE_TIME_ACCOUNT:不明確

      POSTAL_CODE:郵政編碼

      POSTAL_CODE_PO_BOX:沒用過,以下為推測:如果輸入則會檢查,如果t005表中的XPLPF設定了,那麼如果輸入PO_BOX,這個選項就必須輸入。

       PO_BOX:沒用過

       REGION:區域

    Export:

      POSTAL_CODE:郵編

      EV_POSTAL_CODE:郵編的格式

      EV_POSTAL_CODE_PO_BOX:沒用過

例子:檢查輸入的郵編是否有效

        CALL FUNCTION 'POSTAL_CODE_CHECK'

          EXPORTING

            COUNTRY                     = 'JP'

            POSTAL_CODE                 = L_WA_DISP-POST_CODE1

          EXCEPTIONS

            NOT_VALID                   = 1

            OTHERS                      = 2.

 

DATE_CONVERT_TO_FACTORYDATE:把輸入日期轉為工廠日曆日期

  引數:

    Import:

      CORRECT_OPTION:表示工作日計算方式的標記  

      DATE:必須轉化為工廠日曆日期的日期 

      FACTORY_CALENDAR_ID:工廠日曆 ID    

    Export:

      DATE:必須轉化為工廠日曆日期的日期   

      FACTORYDATE:指定日曆中的工作日數      

      WORKINGDAY_INDICATOR:表示某日期是否為工作日的標誌        

例子:

DATA: DATE1        LIKE SCAL-DATE,

      DATE2        LIKE SCAL-DATE,

      CORRECTION   LIKE SCAL-INDICATOR,

      CALENDAR     LIKE SCAL-FCALID,

      FACTORYDATE  LIKE SCAL-FACDATE,

      WORKDAY      LIKE SCAL-INDICATOR.

      CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'

           EXPORTING  DATE                 = DATE1

                       CORRECT_OPTION       = CORRECTION

                       FACTORY_CALENDAR_ID  = CALENDAR

           IMPORTING  DATE                 = DATE2

                       FACTORYDATE          = FACTORYDATE

                       WORKINGDAY_INDICATOR = WORKDAY

           EXCEPTIONS CORRECT_OPTION_INVALID     = 1

                        DATE_AFTER_RANGE           = 2

                       DATE_BEFORE_RANGE          = 3

                       DATE_INVALID               = 4

                       FACTORY_CALENDAR_NOT_FOUND = 5.

 

MESSAGE_TEXT_BUILD:把訊息轉為文字

  引數:

    Import:

      MSGID:訊息id

      MSGNR:訊息號

      MSGV1:引數1

      MSGV2:引數2

      MSGV3:引數3

      MSGV4:引數4

    Export:

      MESSAGE_TEXT_OUTPUT:輸出的字串

  說明:可以用write to 代替。

 

POPUP_TO_CONFIRM:彈出確認視窗

  引數:

    Import:

      TITLEBAR:彈出視窗的標題,最多40位

      TEXT_QUESTION:問題,最長80位,多出來的截斷

      TEXT_BUTTON_1:第一按鈕的text,最長8位

      ICON_BUTTON_1:第一按鈕顯示的icon

      TEXT_BUTTON_2:第二按鈕的text,最長8位

      ICON_BUTTON_2:第二按鈕顯示的icon

      DEFAULT_BUTTON:預設的按鈕

      DISPLAY_CANCEL_BUTTON:是否顯示取消

      POPUP_TYPE:彈出的型別: 決定顯示的icon

         ICON_MESSAGE_QUESTION :問題

          ICON_MESSAGE_INFORMATION:資訊

          ICON_MESSAGE_WARNING:警告

          ICON_MESSAGE_ERROR:錯誤

          ICON_MESSAGE_CRITICAL:衝突

      START_COLUMN:彈出位置:列

      START_ROW:彈出位置:行

      IV_QUICKINFO_BUTTON_1:第一按鈕的顯示資訊(滑鼠放上去後看到的)

      IV_QUICKINFO_BUTTON_2:第二按鈕的顯示資訊(滑鼠放上去後看到的)

    Export:

      ANSWER:返回點選的按鈕

        '1' :第一個按鈕

         '2' :第二個按鈕

         'A' :取消按鈕

 

CONVERSION_EXIT_MATN1_INPUT :物料號碼轉換函式,上傳檔案時可能會用到

    EXPORTING    

      INPUT = '要轉換的物料號'

    IMPORTING

      OUTPUT = '轉換後的內部使用的物料號'.

比如輸入123456,輸出000000000000123456

 

CONVERSION_EXIT_MATN1_OUTPUT:物料號碼轉換函式,作用同上面相反

CONVERT_TO_LOCAL_CURRENCY:按照指定日期匯率轉換金額為指定貨幣型別

          exporting

            DATE             = T_EKKO-BEDAT   "日期

            FOREIGN_AMOUNT   = T_DATA-NETPR   "待轉換金額

            FOREIGN_CURRENCY = WAERS          "當前貨幣單位

            LOCAL_CURRENCY   = 'USD'          "目標貨幣

          importing

            LOCAL_AMOUNT     = T_DATA-NETPR.  "轉換後金額

      endif.

 SSF_FUNCTION_MODULE_NAME:根據form名取得對應的函式名(SmartForm)

    exporting

      FORMNAME           = 'ZFI_06'                "Form名

    importing

      FM_NAME            = FUNC_MODULE_NAME        "返回函式名

    exceptions

      NO_FORM            = 1

      NO_FUNCTION_MODULE = 2

      others             = 3.

由於開發機上開發smartform傳入生產機後有可能會改變其函式名,所以在呼叫smartform前使用這個函式

SSF_FUNCTION_MODULE_NAME :呼叫SmartForms

SMARTFORMS輸出報表時,生成一個函式名稱,然後CALL這個名稱

  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

    EXPORTING

      FORMNAME           = CNS_SMART          "SMARTFORMS名稱

    IMPORTING

      FM_NAME            = W_FMNAME           "SMARTFORMS名稱

    EXCEPTIONS

      NO_FORM            = 1

      NO_FUNCTION_MODULE = 2

      OTHERS             = 3.

 

 CALL FUNCTION 'W_FMNAME'

   TABLES

     I_HEAD           = I_HEAD          

   EXCEPTIONS

     FORMATTING_ERROR = 1

     INTERNAL_ERROR   = 2

     SEND_ERROR       = 3

     USER_CANCELED    = 4

     OTHERS           = 5.

 

POPUP_TO_DECIDE_LIST:彈出供選擇視窗,最多25個選項,選擇可以是單選按鈕也可以是核取按鈕,可以設定最多選擇的個數。

  引數:

    Import:

      CURSORLINE  :預設遊標所在行

      MARK_FLAG:選擇的標誌,一般設為‘X’

      MARK_MAX: 最大選擇的選項個數

      START_COL:起始行

      START_ROW  :起始列,用來定位彈出視窗的位置

      TEXTLINE1:文字行

      TEXTLINE2:文字行

      TEXTLINE3 :文字行

      TITEL:彈出視窗的標題

      DISPLAY_ONLY:僅顯示

    Export:

      ANSWER:A:取消  空:做了選擇

    Tables:

      T_SPOPLI:選擇結果

例子:REPORT  Z_BOBO                                  .

* 定義函式需要的變數

DATA: BEGIN OF SPOPLIST OCCURS 15.

          INCLUDE STRUCTURE SPOPLI.

  DATA: END   OF SPOPLIST.

  DATA: ANTWORT TYPE C.

* 新增選擇引數

  SPOPLIST-VAROPTION = 'Creditor'.

  APPEND SPOPLIST.

  SPOPLIST-VAROPTION = 'Material'.

  APPEND SPOPLIST.

  SPOPLIST-VAROPTION = 'Account '.

  SPOPLIST-SELFLAG   = 'X'.

 

  CALL FUNCTION 'POPUP_TO_DECIDE_LIST'

     EXPORTING  TITEL            = 'Possible entra: Order'

               TEXTLINE1        = 'By which criteria'

               TEXTLINE2        = 'should orders'

               TEXTLINE3        = 'be selected?'

               MARK_MAX         = 2

               MARK_FLAG        = 'X'

    IMPORTING  ANSWER           = ANTWORT

    TABLES     T_SPOPLI         = SPOPLIST

    EXCEPTIONS TOO_MUCH_ANSWERS = 1

               TOO_MUCH_MARKS   = 2.

 

  IF SY-SUBRC = 2.

    WRITE: 'Too many answers chosen.'.

  ENDIF.

* 取消

  IF ANTWORT = 'A'.

    WRITE: 'Popup canceled.'.

  ELSE.

    WRITE: 'Options chosen:'.

    LOOP AT SPOPLIST WHERE SELFLAG = 'X'.

      WRITE: / SPOPLIST-VAROPTION.

    ENDLOOP.

  ENDIF.

 

 

 

 

DDIF_FIELDINFO_GET:獲得欄位的相關資訊

  引數:

    Import:

      TABNAME:資料庫表的名字

      FIELDNAME:無需指定,由LFIELDNAME代替了

      LANGU: 語言設定,預設sy-langu

      LFIELDNAME:指定關聯欄位

      ALL_TYPES:是否指定所有型別

      GROUP_NAMES:是否包含include的欄位

      UCLEN:沒用過,應該是和unicode相關的

    Export:

      X030L_WA:返回表頭的資訊

      DDOBJTYPE:表型別

        'TRANSP'   = transparent table

        'POOL'     = logical pooled table

        'CLUSTER'  = logical cluster table

        'VIEW'     = database or projection view

        'INTTAB'   = structure, help view, maintenance view or structure view

        'TPOOL'    = physical pooled table

        'TCLUSTER' = physical cluster table

        'DTEL'     = data element

        'TTYP'     = table type

      DFIES_WA:沒用過

      LINES_DESCR:沒用過

    Tables:

      DFIES_TAB:欄位列表

      FIXED_VALUES:域的固定值

   說明:該函式可用來獲得某個表或者結構或者檢視等所有欄位的相關資訊,所以如果想用alv來維護某個表的時候,對設定field catalog有幫助。

 

DDIF_NAMETAB_GET:獲得欄位的相關資訊(不包含text)

  引數:

    Import:

      TABNAME:資料庫表的名字

      LFIELDNAME:指定關聯欄位

      ALL_TYPES:是否指定所有型別

      GROUP_NAMES:是否包含include的欄位

      UCLEN:沒用過,應該是和unicode相關的

    Export:

      X030L_WA:返回表頭的資訊

      DTELINFO_WA:data element的資訊

      TTYPINFO_WA:表型別的資訊

      DDOBJTYPE:表型別

        'TRANSP'   = transparent table

        'POOL'     = logical pooled table

        'CLUSTER'  = logical cluster table

        'VIEW'     = database or projection view

        'INTTAB'   = structure, help view, maintenance view or structure view

        'TPOOL'    = physical pooled table

        'TCLUSTER' = physical cluster table

        'DTEL'     = data element

        'TTYP'     = table type

      DFIES_WA:沒用過

      LINES_DESCR:沒用過

    Tables:

      DFIES_TAB:欄位列表

      FIXED_VALUES:域的固定值

 

BAPI_COMPANYCODE_GET_PERIOD:獲得公司的會計年度以及過賬日期

  引數:

    Import:

      COMPANYCODEID:公司程式碼

      POSTING_DATE:posting date

    Export:

      FISCAL_YEAR:會計年度

      FISCAL_PERIOD:財務期間

      RETURN:返回值

   說明:該函式可用來檢查會計期間

 

MARA_SINGLE_READ:讀取物料資訊

  引數:

    Import:

      KZRFB:Indicator: Refresh buffer entry

      MAXTZ:Max. no. of entries in buffer(這兩個引數應該和效能最佳化相關)

      MATNR:物料號

      SPERRMODUS:Lock mode (none, shared, excl.)

      STD_SPERRMODUS:Standard lock mode (if different)(鎖相關)

      OUTPUT_NO_MESSAGE:是否輸出訊息

    Export:

      WMARA:返回的物料資訊

   說明:該函式可用於效能最佳化,例如無法避免在loop中有sql的情況可以用該函式取代sql。

         對mara的其它操作參考function group:MG21

KNA1_SINGLE_READ:讀取customer表資訊

  引數:

    Import:

      KZRFB:Indicator: Refresh buffer entry

      KNA1_KUNNR:customer code

    Export:

      WKNA1:返回的資訊

   說明:還有很多表的讀取參考function group:MG41

 

ADDR_GET_COMPLETE_ALL_TYPES:獲得地址的相關資訊

  引數:

    Import:

      ADDRNUMBER:address number

      PERSNUMBER:個人資訊

      ADDRESS_OBJECT_TYPE:型別 1:組織 2:個人 3:客戶

    Export:

      ADDR1_COMPLETE:地址1

      ADDR2_COMPLETE:地址2

      ADDR3_COMPLETE:地址3

      ADDR1_COMPLETE_BAPI:地址1

      ADDR2_COMPLETE_BAPI:地址2

      ADDR3_COMPLETE_BAPI:地址3(以上三個bapi用)

 

READ_VBFA:取得document flow(省得select了)

  引數:

    Import:

      I_VBELV:Preceding sales and distribution document

      I_POSNV:Preceding item of an SD document

      I_VBTYP_V:Document category of preceding SD document

      I_VBTYP_N:Document category of subsequent document

      I_FKTYP:Billing category

      I_BYPASSING_BUFFER:是否用buffer

      I_REFRESH_BUFFER:刪除buffer?

    Tables:

      E_VBFA:憑證流的表

   說明:可以透過by passing buffer來最佳化效能

 

 

 

 

 

LIKP_READ:Delivery Header Data

  引數:

    Import:

      I_VBELN:Delivery

      LINE_EXIST:if 'x' check only if line exsists

    Export:

      O_ANSWR:send out 'x' for line exsists in table

    Tables:

      E_LIKP:SD Document: Delivery Header Data

   說明:有關讀取delivery的資訊請參考function group:LMGT

 

SO_OBJECT_SEND:外發郵件

例項:

REPORT ztmail02 .

DATA: BEGIN OF itab OCCURS 0,

pernr LIKE pa0001-pernr,

ename LIKE pa0001-ename,

END OF itab.

DATA: message_content LIKE soli OCCURS 10 WITH HEADER LINE,

receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE,

packing_list LIKE soxpl OCCURS 2 WITH HEADER LINE,

listobject LIKE abaplist OCCURS 10,

compressed_attachment LIKE soli occurs 100 WITH HEADER LINE,

w_object_hd_change LIKE sood1 occurs 100 WITH HEADER LINE,

compressed_size LIKE sy-index.

START-OF-SELECTION.

SELECT pernr ename

INTO CORRESPONDING FIELDS OF TABLE itab

FROM pa0001

WHERE pernr <50.

LOOP AT itab.

WRITE: /02 sy-vline, itab-pernr, 15 sy-vline, itab-ename, 50

sy-vline.

ENDLOOP.

*receivers

receiver_list-recextnam = 'eric.guh@sina.com'. “直接外部地址作為接收方”

receiver_list-recesc = ‘U’. “收件人型別的說明; U 網際網路地址”

receiver_list-sndart = ‘MAIL'. “輸出裝置; MAIL 郵件”

receiver_list-sndpri = '1'. “傳送:優先順序; 1 最高優先權”

APPEND receiver_list.

*general data

w_object_hd_change-objla = sy-langu. “建立文檔案使用的語言”

w_object_hd_change-objnam = 'Object name'. “文檔案,資料夾或分配清單的名稱”

w_object_hd_change-objsns = 'F'. “物件:靈敏度(個人的,功能的,...)” F: 功能

w_object_hd_change -OBJDES = ‘Message subject’. “Mail的標題”

APPEND w_object_hd_change.

*content

message_content-line = 'Message content'. “傳送的內容”

APPEND message_content.

 

CALL FUNCTION 'SO_OBJECT_SEND'

EXPORTING

object_hd_change = w_object_hd_change “通常頭資料”

object_type = 'RAW' “物件型別”

OUTBOX_FLAG = 'X' “標誌:傳送後將文件移到outbox

owner = sy-uname “負責傳送的使用者”

TABLES

objcont = message_content “傳送的內容”

receivers = receiver_list “接收物件屬性”

att_cont = compressed_attachment.

 

一組有用的使用者互動視窗函式

POPUP_TO_CONFIRM_LOSS_OF_DATA 顯示有YES/NO的彈出視窗,提示使用者未儲存的資料將丟失

POPUP_TO_CONFIRM_STEP 提示是否確認操作的彈出視窗

POPUP_TO_CONFIRM_WITH_MESSAGE 可以顯示定製的提示資訊的確認視窗

POPUP_TO_CONFIRM_WITH_VALUE 顯示確認使用者對某個特定物件的操作的彈出視窗

POPUP_TO_DECIDE 將待確認選項以單選按鈕的方式顯示的彈出視窗

POPUP_TO_DECIDE_WITH_MESSAGE 帶訊息的確認視窗

POPUP_TO_DISPLAY_TEXT 顯示多行資訊的視窗

POPUP_TO_SELECT_MONTH 月份選擇視窗

POPUP_WITH_TABLE_DISPLAY 有表格物件的確認視窗

一組操縱客戶端檔案系統的函式

GUI_CREATE_DIRECTORY 在PC上建立檔案目錄

GUI_DELETE_FILE 刪除PC上的檔

GUI_DOWNLOAD 檔案下載函式

GUI_EXEC 執行PC上的程式,或者開啟檔案

GUI_GET_DESKTOP_INFO 得到PC客戶端的系統資訊,比如作業系統等

GUI_REMOVE_DIRECTORY 刪除PC目錄

GUI_RUN 執行PC程式(ShellExecute)

GUI_UPLOAD 從PC上傳程式

HOLIDAY_CHECK_AND_GET_INFO 判斷某天是否是假日

ABAP_DOCU_DOWNLOAD  Download ABAP documentation in HTML format.

GET_CURRENT_YEAR 得到當前的財政年(fiscal year)

CLPB_IMPORT從剪貼簿匯入internal table

CLPB_EXPORT從internal table輸入到剪貼簿

WS_DOWNLOAD 下載表格到本地檔案 可能沒有類的方法高效

RP_LAST_DAY_OF_MONTHS 取月的最後一天

UNIT_CONVERSION_SIMPLE 單位換算

WS_FILENAME_GET:呼叫open dialog的方式

C14B_ADD_TIME:加時間到某年某日

BAPI_CURRENCY_CONV_TO_INTERNAL:將貨幣轉成內部儲存值

BAPI_CURRENCY_CONV_TO_EXTERNAL:將貨幣轉成外部儲存值

NUMERIC_CHECK:判斷是否為數字

SPELL_AMOUNT :將數字轉化成文字

TMP_GUI_FILE_OPEN_DIALOG:呼叫選擇檔案對話方塊

ALSM_EXCEL_TO_INTERNAL_TABLE: Excel資料到內部表

CATS_NUMERIC_INPUT_CHECK:數值檢查

ABAP_DOCU_DOWNLOAD : 以HTML格式下載ABAP文件。

ARFC_GET_TID :以十六進位制形式返回終端的IP地址。

BAL_* :容納了SAP的應用程式日誌所有的函式模組。

BP_EVENT_RAISE :在 ABAP/4 程式中觸發一個事件。

BP_JOBLOG_READ :獲得job log的執行結果。

DATE_GET_WEEK: 返回一個日期所在的週數。

DATE_CHECK_PLAUSIBILITY : 檢查一個日期是否是SAP的有效格式。

DYNP_VALUES_READ : 讀取SCREEN欄位的值,也可以用來讀取報表SELECTION SCREEN。

DYNP_VALUES_UPDATE :更新螢幕欄位的值。

ENQUE_SLEEP :在繼續處理之前等待一個指定的時間。

ENQUEUE_ESFUNCTION : 鎖定一個ABAP程式使它不可以被執行。

EPS_GET_FILE_ATTRIBUTES : 獲得檔案屬性。

EPS_GET_DIRECTORY_LISTING : 返回一個本地或網路目錄的檔案列表。

F4_DATE : 彈出一個視窗顯示一個日曆允許使用者選擇一個日期。

F4IF_SHLP_EXIT_EXAMPLE : F4介面模組。

FILENAME_GET : 彈出一個檔案選擇對話方塊。

FTP_CONNECT : 開啟並登陸FTP伺服器的連線。

FTP_COMMAND : 在FTP伺服器上執行一個命令。

FTP_DISCONNECT :關閉指向FTP伺服器的連線。

GET_GLOBAL_SYMBOLS : 返回一個程式的tables, select options, texts, etc 。甚至包含selection screen的文字定義。

GET_INCLUDETAB : 獲得一個程式的INCLUDES列表。

GUI_CREATE_DIRECTORY :在顯示伺服器端建立一個目錄 。

GUI_DELETE_FILE : 在顯示伺服器端刪除一個檔 。

GUI_DOWNLOAD : 從應用伺服器下載內表到顯示伺服器。

GUI_EXEC : 呼叫一個檔案或程式,取代了WS_EXECUTE。

GUI_GET_DESKTOP_INFO : 獲得客戶端桌面資訊,取代了WS_QUERY。

GUI_REMOVE_DIRECTORY : 從顯示伺服器刪除一個目錄 。

GUI_RUN : 啟動一個檔案或程式 。

GUI_UPLOAD : 從顯示伺服器上傳檔案到應用伺服器,取代了WS_UPLOAD。

HELP_START : 為一個欄位顯示幫助。 Useful for doing AT SELECTION SCREEN ON HOLIDAY_GET : 基於Factory Calendar&/ Holiday Calendar提供了一個節日表。

INIT_TEXT :上傳長文字到SAP。

K_WERKS_OF_BUKRS_FIND : 返回一個特定公司程式碼的所有工廠。

LIST_TO_ASCII :將ABAP報表從 OTF形式轉換成ASCII 形式。

MONTH_NAMES_GET : 獲得所有的月和名字

MS_EXCEL_OLE_STANDARD_OLE : 建立一個檔並自動啟動Excel 。

CONVERT_OTFSPOOLJOB_2_PDF : converts a OTF spool to PDF 。

CONVERT_ABAPSPOOLJOB_2_PDF :convert ABAP spool output to PDF

POPUP_TO_CONFIRM_LOSS_OF_DATA : 彈出一個對話方塊告知使用者有可能丟失資料,詢問是否操作繼續。

POPUP_TO_CONFIRM_STEP :彈出一個對話方塊詢問使用者是否操作繼續。

POPUP_TO_SELECT_MONTH :彈出一個對話方塊供選擇月。

PRICING : 獲得定價條件

PROFILE_GET : 從INI檔案讀取一條記錄

PROFILE_SET : 往INI檔案寫一條記錄

READ_TEXT : 上傳長文字

REGISTRY_GET : 從登錄檔讀取一條記錄

REGISTRY_SET : 在登錄檔裡設定一條記錄

RFC_ABAP_INSTALL_AND_RUN:當MODE引數值為F時執行PROGRAM表中的程式

RH_GET_ACTIVE_WF_PLVAR : 獲得啟動的HR計劃

RH_START_EXCEL_WITH_DATA : 啟動Excel並用內表給檔賦值

RH_STRUC_GET :返回所有相關的組織資訊

RP_CALC_DATE_IN_INTERVAL : 年月日加減

RP_LAST_DAY_OF_MONTHS : 獲得一個月的最後一天

RPY_DYNPRO_READ : 讀取螢幕

RPY_TRANSACTION_READ : 給定一個事務程式碼,獲得其程式和螢幕;或給定一個程式和螢幕獲得事務程式碼

RS_COVERPAGE_SELECTIONS : 獲得一個報表的選擇引數列表。

RS_REFRESH_FROM_SELECTOPTIONS :獲得當前選擇螢幕的內容

RS_SEND_MAIL_FOR_SPOOLLIST : 在程式中給SAP office 傳送訊息

RS_VARIANT_CONTENTS : 獲得一個變式的內容

RZL_SLEEP : 將當前程式掛起

RZL_SUBMIT : 提交一個遠端報表

RZL_READ_DIR_LOCAL : 讀取應用伺服器的目錄

RZL_READ_DIR : 如果伺服器名字左部為空,從本地讀取目錄,否則讀取遠端伺服器的目錄

RZL_READ_FILE : 如果為給定伺服器名字則讀取本地檔,否則讀取遠端伺服器檔。

RZL_WRITE_FILE_LOCAL : 將內表儲存到顯示伺服器(not PC). 不使用OPEN DATASET因此避免了授權檢查。

SAPGUI_PROGRESS_INDICATOR : 顯示一個進度條

SAVE_TEXT : 上傳長文字

SCROLLING_IN_TABLE :當編寫模組池的時候可以用它來處理滾動

SD_DATETIME_DIFFERENCE : 兩日期作差

SO_NEW_DOCUMENT_ATT_SEND_API1 : 將文件作為郵件的一部分傳送

SO_SPLIT_FILE_AND_PATH : 將一個包含路徑的全檔名分割為檔名和路徑

SO_SPOOL_READ : 根據SPOOL號獲得printer spool

SO_WIND_SPOOL_LIST : 根據使用者瀏覽printer spool號

SX_OBJECT_CONVERT_OTF_PDF : 從OTF轉換為PDF (SAP 指令碼轉換)

SX_OBJECT_CONVERT_OTF_PRT : 從OTF轉換為印表機格式(SAP 指令碼轉換)

SX_OBJECT_CONVERT_OTF_RAW : 從OTF轉換為ASCII(SAP 指令碼轉換)

SXPG_CALL_SYSTEM : 檢查使用者是否有執行某個命令的許可權

SXPG_COMMAND_LIST_GET : 獲得一個包含所有定義的外部OS命令的列表.

SXPG_COMMAND_DEFINITION_GET :從R/3系統資料庫讀取單個外部OS命令的定義

SXPG_COMMAND_CHECK :檢查使用者是否有執行某個命令的許可權

SXPG_COMMAND_EXECUTE:檢查使用者是否有執行某個命令的許可權,擁有授權則執行命令

TERMINAL_ID_GET :返回終端ID

TH_DELETE_USER : 剔除一個使用者,效果同SM04

TH_ENVIRONMENT : 獲得UNIX環境

TH_POPUP :在特定使用者螢幕上顯示一個系統訊息

TH_REMOTE_TRANSACTION : 在遠端伺服器上執行事務程式碼

TH_USER_INFO : 獲得當前使用者的資訊 (會話,登陸的工作臺等)

TH_USER_LIST :顯示登陸到應用伺服器的使用者列表

UNIT_CONVERSION_SIMPLE :衡量單位轉換

UPLOAD :上傳檔案到顯示伺服器

UPLOAD_FILES : 上傳一個或多個檔

WRITE_LIST :顯示一個列表物件

WS_DOWNLOAD :將內表下載到顯示伺服器

WS_EXCEL :啟動EXCEL

WS_EXECUTE :執行一個程式

WS_FILE_DELETE : 刪除一個檔

WS_FILENAME_GET :呼叫檔案選擇對話方塊

WS_MSG :顯示一個對話方塊顯示線上訊息

WS_UPLOAD : 從顯示伺服器上傳檔案到內表

WS_VOLUME_GET :獲得終端裝置標籤

WWW_LIST_TO_HTML : 執行一個報表之後,呼叫這個方法將列表輸出轉換成HTML

SD_VBAP_READ_WITH_VBELN: 根據銷售訂單讀取表vbap中的資訊

EDIT_LINES: 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新組織VIEW_MAINTENANCE_CALL: 維護表檢視

DY_GET_FOCUS: 獲得螢幕焦點 DY_GET_SET_FIELD_VALUE 獲得或者設定螢幕欄位的值 F4IF_INT_TABLE_VALUE_REQUEST 顯示檢索help

CONVERSION_EXIT_CUNIT_OUTPUT: 單位轉換

SJIS_DBC_TO_SBC: 全形轉半形

SJIS_SBC_TO_DBC: 半形轉換為全形

CO_R0_CHECK_DECIMAL_POINT: 根據單位檢查資料的小數字

POSTAL_CODE_CHECK: 檢查郵政編碼

GET_JOB_RUNTIME_INFO: 獲得job相關資訊

TERMINAL_ID_GET: 獲得終端id

DATE_CONVERT_TO_FACTORYDATE: 把輸入日期轉為工廠日曆日期MESSAGE_TEXT_BUILD: 把訊息轉為文字

CONVERT_TO_LOCAL_CURRENCY: 按照指定日期匯率轉換金額為指定貨幣型別

DAY_IN_WEEK:透過這個日期得出那天是星期幾

RP_CALC_DATE_IN_INTERVAL:用來得到將來/過去的日期的

BKK_ADD_MONTH_TO_DATE:日期的加減

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20200170/viewspace-1215690/,如需轉載,請註明出處,否則將追究法律責任。

相關文章