Chinaunix首页 | 论坛 | 博客
  • 博客访问: 43770
  • 博文数量: 15
  • 博客积分: 610
  • 博客等级: 上士
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-14 07:31
文章分类

全部博文(15)

文章存档

2011年(1)

2009年(14)

我的朋友
最近访客

分类:

2009-07-15 20:29:37

系统常用变量:

SY-SUBRC  执行状态
SY-DATUM  服务器日期
SY-UZEIT  服务器时间
SY-INDEX  循环的次数(DO While)
SY-TABIX  当前处理的内表的Index
SY-LINSZ  当前报表宽度
SY-UNAME  用户名
SY-TCODE  当前的事务代码
SY-LANGU  当前登录语言
SY-BATCH  后台的程序运行
SY-DYNNR  当前屏幕的编号
SY-LINCT  当前报表长度
SY-LSIND  列表索引页
SY-LISTI  上一个列表的索引
SY-LILLI  绝对列表中选定行的行号
SY-CUCOL  屏幕,PAI 的水平光标位置
SY-CUROW  屏幕,PAI 的垂直光标位置
SY-CPAGE  列表的当前显示页
SY-STARO  真实行号
SY-LISEL  选择行的内容,长度为255
SY-LINNO  当前行
SY-PAGNO  当前页号
SY-SLSET  选择屏幕的变式名称
SY-MSGID  消息, 消息类
SY-MSGTY  消息,消息类型
SY-MSGNO  消息, 消息编号
SY-MSGV1  消息,消息变量1
SY-MSGV2  消息,消息变量2
SY-MSGV3  消息,消息变量3
SY-MSGV4  消息,消息变量4
SY-VLINE  垂直线
SY-ULINE  水平线
SY-ABCDE  常量,A-Z字母表
SY-UCOMM  屏幕,PAI 触发的功能代码

系统常用函数

21.    SHIFT STRING:左移字符串。长度减1

22     CONCATENATE 字符合并

23.    SPLIT:拆分字符串。

24.    SEARCH:查询字符串。

25.    REPLACE:替换字符串。

26.    CONDENSE:删除多余的空格。

27.    TRANSLATE:转换字符格式,如将'ABC'转换为'ABC'

28.    CONVERT TEXT:创建一个可排序的字符串。

29.    OVERLAY:用一个字符串覆盖另一个字符串。

30.    STRLEN:字符串长度。

31.    ABS:取绝对值。

32.    COSSINTAN:取三角函数值。

33.    ACOSASINATAN:反三角函数。

34.    COSHSINHTANH:双曲函数。

35.    EXPE的幂函数。

36.    LOG:底数为E的对数。

37.    LOG10:底数为10的对数。

38.    SQRT:平方根。

39.    SIGN:返回参数符号。

40.    TRUNC:返回参数的整数部分。

41.    FRAC:输入参数的小数部分。

42.    CEIL:返回不小于参数的最小整数。

43.    FLOOR:返回不大于参数的最小整数

 

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:将货币转成外部储存值

CONVERSION_EXIT_ALPHA_OUTPUT:将数字前的0都去除

NUMERIC_CHECK:判断是否为数字

SPELL_AMOUNT :将数字转化成文字

TMP_GUI_FILE_OPEN_DIALOG 调用选择文件对话框

ALSM_EXCEL_TO_INTERNAL_TABLE Excel数据到内部表

CATS_NUMERIC_INPUT_CHECK:数值检查

 

sy-index:做无条件循环是的次数值.

sy-subrc:系统执行后的返回值,如果为0就表示成功,否则为失败。

sy-fdpos:子字符串在源串中的位置。

sy-uzeit:获取系统时间。

sy-datum:获取系统日期。

shift string:左移字符串。长度减1

concatenate:连接字符串。

split:拆分字符串。

search:查询字符串。

replace:替换字符串。

condense:删除多余的空格。

translate:转换字符格式,如将'ABC'转换为'abc'

convert text:创建一个可排序的字符串。

overlay:用一个字符串覆盖另一个字符串。

strlen:字符串长度。

abs:取绝对值。

cossintan:取三角函数值。

acosasinatan:反三角函数。

coshsinhtanh:双曲函数。

expe的幂函数。

Log:底数为e的对数。

log10:底数为10的对数。

sqrt:平方根。

sign:返回参数符号。

trunc:返回参数的整数部分。

frac:输入参数的小数部分。

ceil:返回不小于参数的最小整数。

floor:返回不大于参数的最小整数。

函数名 描述
CONVERSION_EXIT_ALPHA_INPUT
料号前面补0
CONVERSION_EXIT_ALPHA_OUTPUT
料号前面减0
CONVERSION_EXIT_MATN1_INPUT
料号前面补0
CONVERSION_EXIT_MATN1_OUTPUT
料号前面减0
LAST_DAY_OF_MONTHS
查询某日期的在当月的最后一天
CO_SF_CAUFVD_GET
根据工单号查询订单抬头和项目
SO_NEW_DOCUMENT_ATT_SEND_API1
外发邮件
VIEW_MAINTENANCE_CALL
调用数据表的维护视图
SO_OBJECT_SEND
外发邮件

函数名
CONVERSION_EXIT_ALPHA_INPUT
功能:料号前面补0,
实例:
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "
料号前面加0”
EXPORTING
input = matnr_in
IMPORTING
output = matnr_out.
说明:1)数字料号入Table需要补0,不会自动产生,有字母料号却会自动补0.
2)
只能用字符型
CONVERSION_EXIT_MATN1_INPUT
功能:料号前面补0
实例:
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT' "
料号前面补0”
EXPORTING
input = matnr_in
IMPORTING
output = matnr_out
EXCEPTIONS
length_error = 1
OTHERS = 2.
说明: 1)数字料号入Table需要补0,不会自动产生,有字母料号却会自动补0.
2)
只能用于料号转换

CONVERSION_EXIT_ALPHA_OUTPUT
功能:料号前面去0
实例:
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' "
料号前面去0.
EXPORTING
input = wa_ysy1-matnr
IMPORTING
output = wa_ysy1-matnr.
说明:
CONVERSION_EXIT_MATN1_OUTPUT
功能:料号前面去0
实例:
CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
EXPORTING
input = t_afpo-matnr
IMPORTING
output = t_afpo-matnr
EXCEPTIONS
OTHERS = 1.
说明:
LAST_DAY_OF_MONTHS
功能:查询某日期的在当月的最后一天
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
day_in = f_date "
月任意一天 类型必须为D(要完成日期##
IMPORTING
last_day_of_month = p_date "
月最后一天 类型必须为D(完整日期)
EXCEPTIONS
day_in_no_date = 1
OTHERS = 2.
说明:
CO_SF_CAUFVD_GET
功能: 根据工单号查询订单抬头和项目
实例:
DATA: wa_caufvd TYPE caufvd.
CALL FUNCTION 'CO_SF_CAUFVD_GET'"
取得订单抬头和项目
EXPORTING
aufnr_imp = aufnr
IMPORTING
caufvd_exp = wa_caufvd “
订单抬头和项目结构
EXCEPTIONS
not_found = 1
OTHERS = 2.
说明:
SO_NEW_DOCUMENT_ATT_SEND_API1
功能:邮件发送 SAPoffice: Send new document with attachments using RFC
实例:
FORM email_itab. “
邮件内容
WRITE: '
编号' TO email_itab-line+0(3), "255个长度的文本字段:文本"
'
记帐日期' TO email_itab-line+3(10),

ENDFORM. "email_itab
FORM reset_objpack .
it_packing_list-transf_bin = space. "
标记将以二进制形式传输对象的标志"
it_packing_list-head_start = 0."
表头开始行"
it_packing_list-head_num = 1. "
表头行数"
it_packing_list-body_start = 1."
内容开始行"
it_packing_list-body_num = it_message_lines. "
内容行数"
it_packing_list-doc_type = 'RAW'. "
信息类型"
APPEND it_packing_list.
ENDFORM. "reset_objpack
FORM reset_doc_chng .
DESCRIBE TABLE email_itab LINES it_message_lines.
gd_doc_data-doc_size = it_message_lines * 255 + STRLEN( email_itab ). "SAPoffice
文档的大小 "
gd_doc_data-obj_langu = sy-langu. "
创建文档使用的语言"
gd_doc_data-obj_name = 'SAPRPT'. "
文档,文件夹或分配清单的名称"
gd_doc_data-obj_descr = '
邮件标题'. "Email标题"
gd_doc_data-sensitivty = 'F'. "
对象:灵敏度(个人的,功能的,...) F:功能"
ENDFORM. "reset_doc_chng
FORM reset_reclist .
SELECT zmaaddr
INTO it_receivers-receiver
FROM ziebtemail.
it_receivers-rec_type = 'U'. "
互联网地址
APPEND it_receivers.
CLEAR it_receivers.
ENDSELECT.
ENDFORM. "reset_reclist
DATA: gd_doc_data LIKE sodocchgi1,
gd_sent_all(1) TYPE c,
it_message_lines TYPE sy-tabix,
it_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
it_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF email_itab OCCURS 10.
INCLUDE STRUCTURE soli.
DATA: END OF email_itab.
PERFORM email_itab. "TABLES OUTPUT_TAB.
PERFORM reset_doc_chng.
PERFORM reset_reclist.
PERFORM reset_objpack.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = gd_doc_data “
新文档的属性
PUT_IN_OUTBOX = 'X' “
标志:发送后将文档移到outbox
* COMMIT_WORK = ' '
* IMPORTING
SENT_TO_ALL = gd_sent_all “Flag: Document sent to all”
* NEW_OBJECT_ID = ID of created object (not document!)
tables
packing_list = it_packing_list “SAPoffice
:输入对象组件描述
* OBJECT_HEADER =
* CONTENTS_BIN =
* CONTENTS_TXT =
* CONTENTS_HEX =
* OBJECT_PARA =
* OBJECT_PARB =
receivers = email_itab”SAPoffice
API 收件人清单的结构
* EXCEPTIONS
* TOO_MANY_RECEIVERS = 1
* DOCUMENT_NOT_SENT = 2
* DOCUMENT_TYPE_NOT_EXIST = 3
* OPERATION_NO_AUTHORIZATION = 4
* PARAMETER_ERROR = 5
* X_ERROR = 6
* ENQUEUE_ERROR = 7
* OTHERS = 8
.
IF sy-subrc <>0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
说明:
VIEW_MAINTENANCE_CALL
功能:调用数据表的维护视图
实例:
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'U' “
活动(显示/维护/传输)
* CORR_NUMBER = ' '
* GENERATE_MAINT_TOOL_IF_MISSING = ' '
* SHOW_SELECTION_POPUP = ' '
view_name = 'ZIEBTEMAIL' “
要处理的视图/表格的名称
* NO_WARNING_FOR_CLIENTINDEP = ' '
* RFC_DESTINATION_FOR_UPGRADE = ' '
* CLIENT_FOR_UPGRADE = ' '
* VARIANT_FOR_SELECTION = ' '
* COMPLEX_SELCONDS_USED = ' '
* CHECK_DDIC_MAINFLAG = ' '
* SUPPRESS_WA_POPUP = ' '
* TABLES
* DBA_SELLIST =
* EXCL_CUA_FUNCT =
* 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
.
IF sy-subrc <>0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
说明:
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 = . “
直接外部地址作为接收方
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.

 

 

阅读(1126) | 评论(0) | 转发(0) |
0

上一篇:SAP公司简介

下一篇:一点知识

给主人留下些什么吧!~~