abap常用函数

烂漫一生 提交于 2019-11-28 23:52:10

SAP 常用FUNCTION

【转自http://lz357502668.blog.163.com/blog/static/16496743201102145919684/】

 

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 <message> to <text>代替。

 

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:日期的加减

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!