• SAP-Function_01


    TH_POPUP –在特定用户屏幕上显示一个系统消息

    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: 发送的信息截取的长度(若长度<mes的长度﹐则多余信
                        息被截掉)
      其中客户端口﹐用户名常常放与一内表中﹐内表结构必须为结构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      : 收件者
  • 相关阅读:
    poj 2947 Widget Factory 夜
    poj 1222 EXTENDED LIGHTS OUT 夜
    poj 3440 Coin Toss 夜
    poj 1166 The Clocks 夜
    poj 3270 Cow Sorting 夜
    poj 3071 Football 夜
    poj 2409 Let it Bead 夜
    poj 1141 Brackets Sequence 夜
    hdu 4311 Meeting point1 夜
    poj 1026 Chipher 夜
  • 原文地址:https://www.cnblogs.com/rainysblog/p/3672598.html
Copyright © 2020-2023  润新知