灭火器怎样使用方法:abap函数荟萃

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 08:51:23
abap函数荟萃2009年04月02日 星期四 08:33

1 .函数WS_UPLOAD
    功能﹕将TXT文件转换成SAP中的内表定义的数据表格文件
    注意﹕1函数将按参数data_tab的实际参数(假设为table1) table1定
            义的各个字段的长度来依次将TXT文件间隔开﹐并依次将对应的值付给table1的
            字段,table中的各个字段必须为C型
           2 TXT文件中﹐各个字段值之间不能有空格
   事例: ZBC400_JOHN_26

2 .函数TH_POPUP
     功能:向函数入口参数client , user决定的用户发送信息(信息为入口参数message决
           定的信息)
     事例﹕ZBC_LSL_017

3.函数HELP_VALUES_GET_WITH_TABLE
     功能﹕弹出用户所需要的信息﹐让用户选择﹐并把选种的信息付给输入框﹐相当与建立起
            SEARCH HELP
     注意: 1 tables的参数fields , valuetab需要固定的内表结构
            2 importing的参数select_value有高﹐低两个值﹐即用户选种的值付给相应的
             输入框的最小值﹐最大值
            3 tables的参数fields , valuetab的实际参数(假设为tab_field, field_value)
              tab_field, field_value的付值,其tab_field内表中﹐有且仅有一个字段的
              selectflag = ‘X’
      事例﹕ ZPP000293

4 .函数Z_UDARBID
         功能﹕根据工单号﹐当前工作中心代号﹐读出上一工作中心代号﹐上一工作中心名称﹐
               下一工作中心代号﹐下一工作中心名称
         事例﹕ZPP000224_EDIT
         说明﹕取得上下组别的函数更正确的函数z_udarbid_change(可以解决组别
                                                            循环问题)
         示例﹕ZBAK_ZPP000222_LSL

5 .函数Z_COLORANDSIZE
         功能﹕根据该物料的组态﹐得出该物料的颜色尺码.
         注意﹕入口参数IP_SPRAS = ‘E’表示本厂款号﹐’M’表示客户款号

6 .函数Z_PRINTTITLE
        功能﹕打印标准报表头
        事例﹕ ZBC_LSL_777

7 .函数Z_PAGECHANGE
        功能﹕许多记录时﹐进行翻叶操作

8 .函数READ_TEXT
        功能﹕读取内文
        假设﹕FORM get_pitext USING pn LIKE thead-tdname .
               REFRESH tabline.
   CALL FUNCTION 'READ_TEXT'
        EXPORTING
             client = sy-mandt
             id = '0006'
             language = 'M'
             object = 'VBBK'
             name = pn
             archive_handle = 0
        IMPORTING
             headers = thead
        TABLES
             lines = tabline
        EXCEPTIONS
             not_found = 2.
注意﹕ 1 tabline必须为固定格式, headers的实际参数必须为thead
           name的实际参数必须为thead-tdname形式,靠它来确定取谁的内
          文
2 client , language , archive_handle的入口值基本固定如上
3 id为va03?转到?表头?内文?(双击要读取的内文项)?goto?header
text id既是参数id的值
text object既是参数object的值
事例﹕ZPP000220
            
9 .函数Z_CURR_TO_CHAR .
        功能﹕把curr型的数据转化成char型的数据﹐转化后的数据仍然
              按curr型数据显示(“###,###,###.##”)并可以在char型数
              前后添加固定个特殊字符
                  (“**12,111,456.23”, ”**********12.45”)
     假设p_curr为CURR型﹐ p_char = ‘*’
CALL FUNCTION 'Z_CURR_TO_CHAR'
      EXPORTING
           p_curr_i = p_curr
       * p_char_i = p_char
       * p_num_i = 2
       * p_bore_i =
       * p_nums_i = 20
     IMPORTING
           p_char_o = t_chr
      EXCEPTION
           no_p_curr_i = 1
           curr_type_wrong = 2
           not_bore_i = 3
           OTHERS = 4.
说明﹕
       p_curr :必须输入参数﹐不能超过15个长度,被转化的参数
       p_char :可线参数﹐须添加的特殊字符
       p_num_I :可线参数﹐当参数p_nums_I为空时有效﹐要添加的特殊字符
                的个数
       p_bore_I:可线参数﹐决定是在前/后添加特殊字符,b?前﹐e?后﹐默
                认为b,只能输入b/e否则函数不转化
       p_nums_I:可线参数﹐决定转化成固定个字符长度的﹐若参数p_char_I
                 有值﹐则不足位时补特殊字符﹐若参数p_char_I为空时﹐
                 该参数无效﹐若该参数输入值﹐则参数p_num_I无效。
       p_char_o:转化后的数据
若执行该函数sy-subrc之值如下﹕
           1?没用输入参数p_curr_I .
           2?参数p_curr_I过长﹐或p_nums_I为空﹐p_num_I为负数
           3?参数p_bore_I不是输入’e’/’b’(大小写不区分)
事例﹕ZBC_Z_CURR_TO_CHAR

8.函数Z_COLORANDSIZE_MATNR
功能﹕根据物料的款号得出该物料的特性值(如C10019-EYEDE的对应的A,C,D的颜色说
         明﹐39.5﹐41.5的尺码大小﹐见TC : CT03 )放与一个内表中)
   CALL FUNCTION 'Z_COLORANDSIZE_MATNR'
      EXPORTING
           p_matnr = p_matnr
           p_spras = 'Z1'
    TABLES
           t_tab = it
      EXCEPTIONS
           no_matnr = 1
           no_data = 2
           OTHERS = 3.
说明﹕
        p_matnr :必要入口参数﹐需要取得特性的物料的款号
        p_spras :语言码﹐默认为‘M’
        it :为内表﹐P_matnr的各特性值便放与次表中﹐该表结构固定﹐
                 字段如下﹕
                   name字符型(= ‘COLOR’表示颜色特性﹐= ‘SIZE’表示
                                   尺码特性)
                   atwrt特性码(如D,E,F,39.4,41.5)
                   atwtb特性值说明﹐即通常所说的颜色﹐尺码
       执行后sy-subrc = 1表示参数p_matnr为空
                        = 2表示该物料没用特性值
                        = 3表示其他错误
     获得结果比函数Z_COLORANDSIZE更广

   9.函数WS_DOWNLOAD
     功能﹕将内表中的数据转化成特定的文件
           见范例zbc400_lsl_file_change

   10.函数WS_UPLOAD
      功能﹕将指定文件中的数据转化成内表中的数据
           见范例zbc400_lsl_file_change

11 .函数ENQUEUE_ECMERKM
      功能﹕对数据表中记录进行加锁﹐可以根据加锁是否成功来判断是否还
            有其他客户在更新该数据表
CALL FUNCTION 'ENQUEUE_ECMERKM'
           EXPORTING
* MODE_RCTMV = 'E'
           mandt = sy-mandt
           atnam = p_lock_atnam
* X_ATNAM = ' '
* _SCOPE = '2'
* _WAIT = ' '
* _COLLECT = ' '
      EXCEPTIONS
           foreign_lock = 1
           system_failure = 2
           OTHERS = 3.
说明﹕ mandt ﹕使用的数据端口
         atnam ﹕被锁定的记录(可以确定唯一一条记录)

12函数EQUEUE_ECMERKM
   功能﹕对自己锁定的记录进行解锁,常用于对数据表中数据进行更新操作之
          前﹐通常与加锁函数联合起来用
            CALL FUNCTION 'DEQUEUE_ECMERKM'
                  EXPORTING
* mode_rctmv = 'E'
                      mandt = sy-mandt
                      atnam = p_ulock_atnam
* X_ATNAM = ' '
* _SCOPE = '3'
* _SYNCHRON = ' '
* _COLLECT = ' '
                  EXCEPTIONS
                      OTHERS = 1.
说明﹕ mandt ﹕使用的数据端口
        atnam ﹕需要解锁的记录(可以确定唯一一条记录)

13 .函数TH_POPUT
   说明﹕该函数是向SAP用户发送信息
   CALL FUNCTION 'TH_POPUP' "向用户发送信息EXPORTING CLIENT = BIT-MANDT USER = BIT-BNAME MESSAGE = MES
               MESSAGE_LEN = LEN "要发送的信息的长度可截断部分信息
               CUT_BLANKS = ' '
          EXCEPTIONS
               USER_NOT_FOUND = 1.
参数﹕client ------用户端口
         user--------用户名(接收者)
         message—需要发送的信息(通常用变量储存)
         message_len:发送的信息截取的长度(若长度                    息被截掉)
其中用户端口﹐用户名常常放与一内表中﹐内表结构必须为结构uinfo
见示例zbc400_lsl_send_message

14 .图形显示函数﹕GRAPH_2D(二维平面图), GRAPH_3D(三维立体图)
CALL FUNCTION 'GRAPH_2D'
      EXPORTING
           mail_allow = 'X'
           titl = l_title
      TABLES
           data = t_graph.
    
参数﹕ title :图形的标题
          data:存放数据的内表
   GRAPH_3D函数用法同GRAPH_2D .
示例﹕ZBAK_ZPP000222_LSL

15 .函数CS_WHERE_USED_MAT(逆查BOM)
   说明﹕取的物料的上层物料
                 CALL FUNCTION 'CS_WHERE_USED_MAT'
              EXPORTING
                datub = sy-datum
                datuv = sy-datum
                matnr = t_afru-matnr
* POSTP = ' '
* RETCODE_ONLY = ' '
* STLAN = ' '
                werks = '1000'
* IMPORTING
* TOPMAT =
              TABLES
                   wultb = ltb
                   equicat = equicat
                   kndcat = kndcat
                   matcat = matcat
                   stdcat = stdcat
                   tplcat = tplcat
              EXCEPTIONS
                   call_invalid = 1
                   material_not_found = 2
                   no_where_used_rec_found = 3
                   no_where_used_rec_selected = 4
                   no_where_used_rec_valid = 5
                   OTHERS = 6.
         参数﹕datub:当前日期
                datuv:当前日期
                matnr:要找回上层BOM物料的物料
                werks:工厂通常取’1000’
                wultb:所有的上层BOM物料存放在该表中(该表结构固定)
                equicat:固定结构﹐一定要
                kndcat :固定结构﹐一定要
                matcat:固定结构﹐一定要
                stdcat :固定结构﹐一定要
                tplcat :固定结构﹐一定要
示例: ZBAK_ZPP000222_LSL

BOM展开函数(顺查BOM)
16 .只展开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 “下面含有元件的物料存放在该内表


17 .展开与特性相关的特定款号的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

1说明﹕内表stb, matcat结构固定,输出参数selpool , dstst_flg固定,
      其固定结构如下:
内表:
    DATA: BEGIN OF stb OCCURS 1000.
          INCLUDE STRUCTURE stpox.
    DATA: END OF stb.
    DATA: BEGIN OF matcat OCCURS 50.
          INCLUDE STRUCTURE cscmat.
    DATA: END OF matcat.
输出参数:
      DATA: BEGIN OF selpool.
            INCLUDE STRUCTURE cstmat.
       DATA: END OF selpool.
       DATA: dstst_flg LIKE csdata-xfeld.

   2说明﹕内表stb中的数据按第一层顺序号排序﹐如第一层元件下还有BOM,
          则其BOM显示在其下面﹐并依次分层(下面BOM也按顺序号排列)
          stb下的重要字段说明如下﹕
            stufe :在整个BOM中的层次
              tdidx :对应matcat-index ﹐标志直属哪个物料下的BOM
              ojtxb :上层物料的物料说明
              ojtxp :本身物料说明
              idnrk :元件名(即物料)
              stlkn :在各自BOM中的顺序号
              matkl :该物料群组
              mtart :物料类型(成品﹐半成品﹐原料)
            matcat下的重要字段(表matcat存放下面还有BOM的物料)
            matnr :物料号
              index :顺序号


函数: SO_NEW_DOCUMENT_SEND_API1
功能﹕向SAP用户的收信箱中发送Email(内容存与内表中)
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
       EXPORTING
            document_data = email_send
            document_type = 'RAW'
             put_in_outbox = 'X'
            put_in_outbox = ''
       TABLES
            object_content = it_data
            receivers = email_rece.
说明﹕document_data :发送Email之属性
       object_content :发送之内容
       receivers :收件者