SAP 的CALL FUNCTION 函数汇总

合集下载

SAP 常用函数

SAP 常用函数

1、获取订单状态(STATUS_READ 和 STATUS_TEXT_EDIT)1.STATUS_READ 改函数的实现原理大概是通过订单的对象好(OR+订单号)到JEST 中取出字段STAT INACT.JEST表中STAT是一串从字面看不出意思的字符,可以根据STAT到表TJ02T中找到具体的描述。

下面是具体用法DATA:objnr TYPE aufk-objnr.objnr = 'OR000000100014'.DATA:t_status TYPE TABLE OF jstat WITH HEADER LINE."结果存放在STATUS表中CALL FUNCTION 'STATUS_READ'EXPORTINGclient = sy-mandtobjnr = objnrTABLESstatus = t_statusEXCEPTIONSobject_not_found = 1OTHERS = 2.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.LOOP AT t_status.IF t_status = 'I0046'.WRITE:'订单已关闭'.EXIT.ENDIF.ENDLOOP.2.STATUS_TEXT_EDIT 改函数读取的结果是将订单状态拼接到一个字符串中,而且这个字符串是在前台订单上看到的状态,比较直接,这样做的结果就可能由于状态较多导致长度过长,在某些情况下取的数据可能不准。

下面是一段代码DATA:line TYPE bsvx-sttxt.CALL FUNCTION 'STATUS_TEXT_EDIT'EXPORTINGclient = sy-mandtobjnr = objnrspras = sy-languIMPORTINGline = lineEXCEPTIONSobject_not_found = 1OTHERS . "IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.SEARCH line FOR 'CLSD'.IF sy-subrc = 0.WRITE:'订单已关闭'.ENDIF.DATA i_jstat LIKE jstat OCCURS 0 WITH HEADER LINE.CALL FUNCTION 'STATUS_READ'EXPORTINGclient = sy-mandtobjnr = i_caufv_resb-objnr ”对象号only_active = 'X'* IMPORTING* OBTYP =* STSMA =* STONR =TABLESstatus = i_jstat “目前的所有状态EXCEPTIONSobject_not_found = 1OTHERS = 2.LOOP AT i_jstat WHERE stat = 'I0013' "DLT 删除标识符.OR stat = 'I0012' "DLV 交货OR stat = 'I0045' "TECO 技术实现OR stat = 'I0043' "LKD 冻结OR stat = 'I0001' "CRTD 建立OR stat = 'I0046' "CLSD 已结算OR stat = 'I0076'. "DLID 删除标志l_delete = 'X'.EXIT.ENDLOOP.2、图标的函数ICON_CREATE1、定义字段data: status_icon type icons-text.2、创建屏幕,并在屏幕定义创建一个"Status Icon"控件,命名为:status_icon3、利用ICON_CREATE函数在输出是设置ICON。

SAP常用的函数

SAP常用的函数

SAP常用的函数函数名描述CONVERSION_EXIT_ALPHA_INPUT 料号前面补0CONVERSION_EXIT_ALPHA_OUTPUT 料号前面减0CONVERSION_EXIT_MATN1_INPUT 料号前面补0CONVERSION_EXIT_MATN1_OUTPUT 料号前面减0LAST_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”EXPORTINGinput = matnr_inIMPORTINGoutput = matnr_out.说明:1)数字料号入Table需要补0,不会自动产生,有字母料号却会自动补0.2)只能用’字符型’CONVERSION_EXIT_MATN1_INPUT功能:料号前面补0实例:CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT' "料号前面补0”EXPORTINGinput = matnr_inIMPORTINGoutput = matnr_outEXCEPTIONSlength_error = 1OTHERS = 2.说明: 1)数字料号入Table需要补0,不会自动产生,有字母料号却会自动补0.2)只能用于料号转换CONVERSION_EXIT_ALPHA_OUTPUT功能:料号前面去0实例:CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' "料号前面去0. EXPORTINGinput = wa_ysy1-matnrIMPORTINGoutput = wa_ysy1-matnr.说明:CONVERSION_EXIT_MATN1_OUTPUT功能:料号前面去0实例:CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'EXPORTINGinput = t_afpo-matnrIMPORTINGoutput = t_afpo-matnrEXCEPTIONSOTHERS = 1.说明:LAST_DAY_OF_MONTHS功能:查询某日期的在当月的最后一天CALL FUNCTION 'LAST_DAY_OF_MONTHS'EXPORTINGday_in = f_date "月任意一天类型必须为D(要完成日期##IMPORTINGlast_day_of_month = p_date "月最后一天类型必须为D(完整日期)EXCEPTIONSday_in_no_date = 1OTHERS = 2.说明:CO_SF_CAUFVD_GET功能: 根据工单号查询订单抬头和项目实例:DATA: wa_caufvd TYPE caufvd.CALL FUNCTION 'CO_SF_CAUFVD_GET'"取得订单抬头和项目EXPORTINGaufnr_imp = aufnrIMPORTINGcaufvd_exp = wa_caufvd “订单抬头和项目结构EXCEPTIONSnot_found = 1OTHERS = 2.说明:SO_NEW_DOCUMENT_ATT_SEND_API1功能:邮件发送 SAPoffice: Send new document with attachments usingRFC 实例:FORM email_itab. “邮件内容“WRITE: '编号' TO email_itab-line+0(3), "255个长度的文本字段:文本"'记帐日期' TO email_itab-line+3(10),ENDFORM. "email_itabFORM 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_objpackFORM 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_chngFORM reset_reclist .SELECT zmaaddrINTO it_receivers-receiverFROM ziebtemail.it_receivers-rec_type = 'U'. "互联网地址APPEND it_receivers.CLEAR it_receivers.ENDSELECT.ENDFORM. "reset_reclistDATA: 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'EXPORTINGdocument_data = gd_doc_data “新文档的属性”PUT_IN_OUTBOX = 'X' “标志:发送后将文档移到outbox* COMMIT_WORK = ' '* IMPORTINGSENT_TO_ALL = gd_sent_all “Flag: Document sent to all”* NEW_OBJECT_ID = ID of created object (not document!)tablespacking_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'EXPORTINGaction = '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 enameINTO CORRESPONDING FIELDS OF TABLE itabFROM pa0001WHERE pernr <50.LOOP AT itab.WRITE: /02 sy-vline, itab-pernr, 15 sy-vline, itab-ename, 50sy-vline.ENDLOOP.*receiversreceiver_list-recextnam = 'eric.guh@'. “直接外部地址作为接收方”receiver_list-recesc = ‘U’. “收件人类型的说明; U 互联网地址”receiver_list-sndart = ‘MAIL'. “输出设备; MAIL 邮件”receiver_list-sndpri = '1'. “发送:优先级; 1 最高优先权”APPEND receiver_list.*general dataw_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.*contentmessage_content-line = 'Message content'. “发送的内容”APPEND message_content.CALL FUNCTION 'SO_OBJECT_SEND'EXPORTINGobject_hd_change = w_object_hd_change “通常头数据”object_type = 'RAW' “对象类型”OUTBOX_FLAG = 'X' “标志:发送后将文档移到outboxowner = sy-uname “负责传送的用户”TABLESobjcont = message_content “发送的内容”receivers = receiver_list “接收对象属性”att_cont = compressed_attachment.。

abap call function用法

abap call function用法

abap call function用法ABAPCallFunction是SAPABAP编程语言的一个重要组件,它提供了一种方便的方式来调用SAP系统中的函数模块。

在SAP系统中,函数模块是一种预定义的程序单元,它可以完成一些特定的任务,比如数据库操作、数据处理、输出等。

在ABAP程序中,通过ABAP Call Function语句可以调用SAP 系统中的函数模块。

调用函数模块需要提供一些参数,包括函数模块名称、输入参数、输出参数等。

下面我们介绍一下ABAP Call Function的用法。

1. 函数模块名称调用函数模块时需要提供函数模块的名称。

一般来说,函数模块名称是由两部分组成,即函数组和函数名称。

函数组是函数模块所属的逻辑组织单元,它用于标识函数模块的来源。

函数名称是函数模块的名称,它用于标识函数模块的功能。

函数模块名称的格式一般为“函数组名/函数名”。

2. 输入参数调用函数模块时需要提供输入参数。

输入参数是函数模块需要的数据,它会被传递给函数模块,用于完成相应的任务。

输入参数可以是简单类型的数据,比如整数、字符串等,也可以是结构体或表格类型的数据。

输入参数的定义需要与函数模块的输入参数定义保持一致。

3. 输出参数函数模块执行完成后,会返回一些结果,这些结果可以通过输出参数来获取。

输出参数与输入参数类似,可以是简单类型的数据,也可以是结构体或表格类型的数据。

输出参数的定义需要与函数模块的输出参数定义保持一致。

4. 调用函数模块调用函数模块的语法如下:CALL FUNCTION function_nameEXPORTINGinput_parametersIMPORTINGoutput_parameters.其中,function_name是函数模块名称;input_parameters是输入参数;output_parameters是输出参数。

EXPORTING和IMPORTING关键字用于指定参数的类型。

sap-function 常用 大全

sap-function 常用 大全

可以显示定制的提 示信息的确认窗口 64 POPUP_TO_CONFIRM_WITH_MESSAGE 。系统在窗口上显 示一个绿色问号图 标。
65 POPUP_TO_CONFIRM_WITH_VALUE
显示确认用户对某 个特定对象的操作 的弹出窗口。系统 在窗口上显示一个 绿色问号图标。 将待确认选项以单 选按钮的方式显示 的弹出窗口
39 HOLIDAY_CHECK_AND_GET_INFO
判断某天是否是假 日
40 INIT_TEXT
上传长文本到SAP。
41 INIT_TEXTSAVE_TEXTCOMMIT_TEXT
会計伝票テキスト を登録
42 JOB_CLOSE
ジョブをリリース
43 JOB_OPEN
設定されたョブ名 称によりジョブを オープン
61 POPUP_TO_CONFIRM
该函数是POPUP函数 的增强版,可以自 定义按钮文本和图 标。
显示有YES/NO的弹 62 POPUP_TO_CONFIRM_LOSS_OF_DATA 出窗口,提示用户 未保存的数据将丢 失。 系统在窗口上 63 POPUP_TO_CONFIRM_STEP 提示是否确认操作 的弹出窗口
函数名
描述
1 BKK_ADD_MONTH_TO_DATE
日期的加减
2 C14B_ADD_TIME
加時間到某月某日 某時得其結果
3 CATS_NUMERIC_INPUT_CHECK
数値チェック
4 CLOI_PUT_SIGN_IN_FRONT
把SAP里的负号放到 前面来的函数
5 CO_R0_CHECK_DECIMAL_POINT
根据语言决定单位 的显示
10 CONVERT_DATE_INPUT

SAP 常用函数

SAP 常用函数

1、获取订单状态(STATUS_READ 和 STATUS_TEXT_EDIT)1.STATUS_READ 改函数的实现原理大概是通过订单的对象好(OR+订单号)到JEST 中取出字段STAT INACT.JEST表中STAT是一串从字面看不出意思的字符,可以根据STAT到表TJ02T中找到具体的描述。

下面是具体用法DATA:objnr TYPE aufk-objnr.objnr = 'OR000000100014'.DATA:t_status TYPE TABLE OF jstat WITH HEADER LINE."结果存放在STATUS表中CALL FUNCTION 'STATUS_READ'EXPORTINGclient = sy-mandtobjnr = objnrTABLESstatus = t_statusEXCEPTIONSobject_not_found = 1OTHERS = 2.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.LOOP AT t_status.IF t_status = 'I0046'.WRITE:'订单已关闭'.EXIT.ENDIF.ENDLOOP.2.STATUS_TEXT_EDIT 改函数读取的结果是将订单状态拼接到一个字符串中,而且这个字符串是在前台订单上看到的状态,比较直接,这样做的结果就可能由于状态较多导致长度过长,在某些情况下取的数据可能不准。

下面是一段代码DATA:line TYPE bsvx-sttxt.CALL FUNCTION 'STATUS_TEXT_EDIT'EXPORTINGclient = sy-mandtobjnr = objnrspras = sy-languIMPORTINGline = lineEXCEPTIONSobject_not_found = 1OTHERS . "IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.SEARCH line FOR 'CLSD'.IF sy-subrc = 0.WRITE:'订单已关闭'.ENDIF.DATA i_jstat LIKE jstat OCCURS 0 WITH HEADER LINE.CALL FUNCTION 'STATUS_READ'EXPORTINGclient = sy-mandtobjnr = i_caufv_resb-objnr ”对象号only_active = 'X'* IMPORTING* OBTYP =* STSMA =* STONR =TABLESstatus = i_jstat “目前的所有状态EXCEPTIONSobject_not_found = 1OTHERS = 2.LOOP AT i_jstat WHERE stat = 'I0013' "DLT 删除标识符.OR stat = 'I0012' "DLV 交货OR stat = 'I0045' "TECO 技术实现OR stat = 'I0043' "LKD 冻结OR stat = 'I0001' "CRTD 建立OR stat = 'I0046' "CLSD 已结算OR stat = 'I0076'. "DLID 删除标志l_delete = 'X'.EXIT.ENDLOOP.2、图标的函数ICON_CREATE1、定义字段data: status_icon type icons-text.2、创建屏幕,并在屏幕定义创建一个"Status Icon"控件,命名为:status_icon3、利用ICON_CREATE函数在输出是设置ICON。

SAP ABAP 函数总结 常用函数解释

SAP ABAP 函数总结 常用函数解释

GUI_DELETE_FILE – 在显示服务器端删除一个文件 。
GUI_DOWNLOAD – 从应用服务器下载内表到显示服务器。
GUI_EXEC – 调用一个文件或程序,取代了WS_EXECUTE。
GUI_GET_DESKTOP_INFO – 获得客户端桌面信息,取代了WS_QUERY。
RPY_DYNPRO_READ – 读取屏幕
PROFILE_GET - 从INI文件读取一条记录
PROFILE_SET – 往INI文件写一条记录
READ_TEXT – 上传长文本
REGISTRY_GET – 从注册表读取一条记录
REGISTRY_SET – 在注册表里设置一条记录
RFC_ABAP_INSTALL_AND_RUN – 当MODE参数值为‘F’时运行PROGRAM表中的程序'.
FILENAME_GET – 弹出一个文件选择对话框。
DATA out(60) TYPE c.
CALL FUNCTION 'FILENAME_GET'
EXPORTING
filename = 'c:1.txt'
title = 'GET FILENAME'
IMPORTING
filename = OUT.
函数名 描述
CONVERSION_EXIT_MATN1_INPUT 物料号码转换函数
CONVERSION_EXIT_MATN1_OUTPUT 同上相反
CONVERT_TO_LOCAL_CURRENCY 按照指定日期汇率转换金额为指定货币类型
SSF_FUNCTION_MODULE_NAME 根据form名取得对应的函数名(SmartForm)

SAP常用的一些函数

SAP常用的一些函数
ENQUE_SLEEP –在继续处理之前等待一个指定的时间。
ENQUEUE_ESFUNCTION – 锁定一个 ABAP 程序使它不可以被执行:
RELID = 'ZZ' SRTF2 = 0 SRTF = (your report name)
注意不要用 SY-REPID 来传递你的报表名字,当把 SY-REPID 作为参数传递给函数模块的时候,SY-REPID 的值实际上已经发生了变化。
FORMAT_MESSAGE - Takes a message id and number, and puts it into a variable。 Works better than WRITE_MESSAGE, since some messages use $ as a place holder, and WRITE_MESSAGE does not accommodate that, it only replaces the ampersands (&) in the message。
EPS_GET_FILE_ATTRIBUTES – 获得文件属性。
EPS_GET_DIRECTORY_LISTING – 返回一个本地或网络目录的文件列表。
F4_DATE - 弹出一个窗口显示一个日历允许用户选择一个日期。
F4IF_SHLP_EXIT_EXAMPLE – F4 接口模块。
FILENAME_GET – 弹出一个文件选择对话框。
BP_JOBLOG_READ –获得 job log 的执行结果。
CLOI_PUT_SIGN_IN_FRONT – 将负号前置, SAP 默认将负号放在数字后面。
CLPB_EXPORT –从内表导入到剪贴板。

SAP中日期时间函数总结

SAP中日期时间函数总结
DATA MONTH_NAMES LIKE T247 OCCURS 0.
CALL FUNCTION 'MONTH_NAMES_GET'
EXPORTING
LANGUAGE = SY-LANGU
* IMPORTING
* RETURN_CODE =
* IMPORTING
* RETURN_CODE =
TABLES
WEEKDAY = WEEKDAY
* EXCEPTIONS
* WEEKDAY_NOT_FOUND = 1
* OTHERS = 2
12、弹窗选择时间
CALL 'F4_CLOCK'
EXPORTING
START_TIME = '15:18:20'或‘151820’"输入时可选的
DISPLAY =
IMPORTING
SELECTED_TIME = “返回选择的时间
13、 年和月的选择窗口
DATA MONTH LIKE ISELLIST-MONTH.
IMPORTING
E_DAYS = E_DAYS "值为50
E_MONTHS = E_MONTHS "值为2
E_YEARS = E_YEARS . "值为1
6、获取输入日期月份的最后一天
OTHERS = 4 .
14、获取周的信息
DATA WEEKDAY LIKE T246 OCCURS 0.
CALL FUNCTION 'WEEKDAY_GET'
* EXPORTING
* LANGUAGE = SY-LANGU

SAP日期处理函数汇总

SAP日期处理函数汇总

SAP⽇期处理函数汇总SAP⽇期处理函数汇总⽇期处理计算两个⽇期间的⼯作天数,就是剔除了双休⽇后的天数.( 待考证)DATE_CONVERT_TO_FACTORYDATEHR_HK_DIFF_BT_2_DATES根据当前时间如何找到上⽉的第⼀天和最后⼀天?CALL FUNCTION "FIMA_DATE_CREATE"EXPORTINGI_DATE = SY-DATUMI_MONTHS = "-1"I_SET_LAST_DAY_OF_MONTH = "X"IMPORTINGE_DATE = LASTDATE.LASTDATE是上个⽉最后⼀天。

FIRSTDAY是上⽉第⼀天CONCATENATE LASTDATE+(6) "01" INTO FIRSTDAY.。

当天是当年的第⼏周DATE_GET_WEEK得到该周第⼀天WEEK_GET_FIRST_DAY查找当前⽉份以前的⽉份(⽐如现在是4⽉份,如果我需要知道6个⽉之前是哪个⽉)CCM_GO_BACK_MONTHSRP_CALC_DATE_IN_INTERVAL获取两⽇期之间天数函数:HR_MX_INTERVAL_BETWEEN_DATES取得当⽉的第⼀天和最后⼀天CONCATENATE sy-datum(6) "01" INTO so_date-low.CALL FUNCTION "BKK_GET_MONTH_LASTDAY"EXPORTINGi_date = sy-datumIMPORTINGe_date = so_date-high.so_date-sign = "I". so_date-option = "BT". APPEND so_date.RP_CALC_DATE_IN_INTERVAL 年⽉⽇加减DATE_CHECK_PLAUSIBILITY ⽇期有效性检查SD_DATETIME_DIFFERENCE 两⽇期作差DATE_CONVERT_TO_FACTORYDATE 把输⼊⽇期转为⼯⼚⽇历⽇期MONTH_NAMES_GET 获得所有的⽉和名字F4_DATE 弹出⼀个窗⼝显⽰⼀个⽇历允许⽤户选择⼀个⽇期。

SAP常用Function一览

SAP常用Function一览

No.1 日期时间相关函数 1. DAY_IN_WEEK 根据日期返回星期几2. DATE_GET_WEEK 根据日期返回第几周3. NEXT_WEEK 根据当前周返回下周信息,比如200846.返回200847,Monday: 2008.11.17 Sun4. WEEK_GET_FIRST_DAY 取得一周的第一天5. RP_LAST_DAY_OF_MONTHS 根据一个月的第一天获得一个月的最后一天6. RP_CALC_DATE_IN_INTERVAL 年月日加减7. CONVERSION_EXIT_INVDT_INPUT 转化日期格式为内部格式8. CONVERSION_EXIT_INVDT_OUTPUT 转化内部日期格式为输出格式9. DATE_CHECK_PLAUSIBILITY 日期有效性检查10. ATE_STRING_CONVERT 把日期字符串转化为指定的格式11. DATE_CONVERT_TO_FACTORYDATE 把输入日期转化为工厂日历日期12. FACTORYDATE_CONVERT_TO_DATE 根据工厂日历日期返回日期13. LAST_FACTORYDATE_GET 根据工厂日历ID返回最后一个工厂日期14. RE_ADD_MONTH_TO_DATE 给日期加月15. BKK_ADD_MONTH_TO_DATE 给一个日期加月计算出新的日期16. DAY_ATTRIBUTES_GET 某日期的属性,包括该日期是星期几,第几天(周2=2),是不是公共假期17. HOLIDAY_CHECK_AND_GET_INFO 判断某天是否是假日18. F4_DATE 弹出一个窗口显示一个日历允许用户选择一个日期。

19. F4_CLOCK 弹出时间的输入帮助20. POPUP_TO_SELECT_MONTH 年月的输入帮助21. HOLIDAY_GET 根据工厂日历/节日日历返回一个节日表22. .MONTH_NAMES_GET 取得所有月和月的名字23. DAY_NAMES_GET 取得一周各天的名称No.2 DDIC相关函数1. DDIF_TABL_GET 根据数据库表读取数据库表的所有技术信息(例如字段,数据类型,检索帮助,che2. DD_DOMVALUES_GET 根据域名返回域的相关信息3. DD_DOMA_GET 根据domain名字取得domain的相关信息4. DD_SHLP_CALL_FROM_DYNP 可以显示DDIC的F4输入帮助No.3 数据CHECK相关函数1. DATE_CHECK_PLAUSIBILITY 日期有效性检查2. CATS_NUMERIC_INPUT_CHECK 检查是否为数字3. CO_R0_CHECK_DECIMAL_POINT 根据数量单位检查小数位4. POSTAL_CODE_CHECK 检查邮政编码5. ADDR_POSTAL_CODE_CHECK 检查邮政编码(地址服务)No. 4 字符,字符串处理相关函数1. CLOI_PUT_SIGN_IN_FRONT 负号前置2.CONVERSION_EXIT_ALPHA_INPUT 数字字符串补前导零3. CONVERSION_EXIT_ALPHA_OUTPUT 数字字符串去前导零4. SJIS_DBC_TO_SBC 全角转化为半角5. SJIS_SBC_TO_DBC 半角转换为全角6. STRING_REVERSE 字符串反向7. STRING_CENTER 居中字符串8. STRING_MOVE_RIGHT 字符串居右9. STRING_LENGTH 计算字符串长度10. TEXT_SPLIT 字符串分割11. RKD_WORD_WRAP 把字符串按任意长度分割存入内表No.5 数据转换函数1. CONVERSION_EXIT_CUNIT_OUTPUT 内部单位转化为外部单位输出2. CONVERSION_EXIT_CUNIT_INPUT 外部计量单位转化输入3. UNIT_CONVERSION_SIMPLE 计量单位转换4. BAPI_CURRENCY_CONV_TO_EXTERNAL 货币金额转化为外部数据格式输出5. BAPI_CURRENCY_CONV_TO_INTERNAL6. CURRENCY_AMOUNT_SAP_TO_DISPLAY 显示存储的货币金額7. CURRENCY_AMOUNT_DISPLAY_TO_SAP 存储输入的货币金額8. CONVERT_TO_LOCAL_CURRENCY 按照指定日期汇率转换金额为指定货币类型No. 6 其他函数1. POPUP_TO_INFORM 弹出信息框2. POPUP_TO_CONFIRM 弹出确认窗口3. POPUP_TO_CONFIRM_STEP 弹出一个对话框询问用户是否操作继续4. SAPGUI_PROGRESS_INDICATOR 显示处理进度条5. CREATE_TEXT 创建长文本6. READ_TEXT 读取长文本7. MESSAGE_TEXT_BUILD 把消息转化为文本8. REUSE_ALV_FIELDCATALOG_MERGE 根据数据字典结构或者内表创建字段目录9. POPUP_WITH_TABLE_DISPLAY 弹出一个简单的列表画面,可以选择某一行,返回选择行的索引10. LVC_FIELDCATALOG_MERGE 半自动创建Field catalog11. CALL_BROWSER 调用IE浏览器12. F4IF_INT_TABLE_VALUE_REQUEST 显示自定义的F4检索帮助14. HELP_DOCU_SHOW_FOR_FIELD 调用F1帮助15. HELP_VALUES_GET_EXTEND 根据屏幕一字段值显示F4,并可以把其他关联字段值填充到屏幕15.DYNP_VALUES_READ 读取屏幕上字段值16. DYNP_VALUES_UPDATE 选择F4后,将选定表行值返回到屏幕17. HELP_VALUES_GET_NO_DD_NAME 显示没有数据字典参考的内部表18. HELP_VALUES_GET_WITH_DD_NAME 显示有数据字典参考的内部表19. HELP_VALUES_GET_WITH_TABLE_EXT 17,18的功能合20. VRM_SET_VALUES 做LIST BOX 会用 到的一个函数21. TERM_CONTROL_EDIT 弹出一个文本编辑框22. POPUP_GET_VALUES 对于显示和值请求的会话框, 没有检查23. COMPLEX_SELECTIONS_DIALOG 在Dialog 里设置复杂选择标准7 Sunday:2008.11.23共假期等,需要输入国家日历。

sap常用函数

sap常用函数
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
GOODSMVT_HEADER = T_GM_HEAD
GOODSMVT_CODE = T_GM_CODE
O_DATACHECK = DATACHECK .
********************************************
"create routing
CALL FUNCTION 'ZPP_ROUTING_CREATE'
TABLES
I_ROUTING = I_ROUTING
filename = l_filename
query = 'FE'
IMPORTING
return = l_return
EXCEPTIONS
inv_query = 1
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
OTHERS = 3.
********************************************
"do MB1B or MB1A etc.
invalid_filesize = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
TABLES
bom_result = temp_bom.
********************************************

SAP中日期时间函数总结

SAP中日期时间函数总结

SAP中日期时间函数总结1、获得最后一天CALL FUNCTION 'FIMA_DATE_CREATE'EXPORTINGI_DATE = I_DATE "输入日期。

sy-datum类型如:…20110402‟。

I_FLG_END_OF_MONTH = ' 'I_YEARS = 2 "两年后的日期时间,既sy-datum的年加2所得日期,可为负数,表示前两年I_MONTHS = 1 "一个月后的日期。

既sy-datum的月加1所得日期,可为负数,表示前一个月I_DAYS = 23 "23天后的日期。

可为负数,表示23天前的日期I_CALENDAR_DAYS = 10 "10天后的日历。

同I_DAYS参数。

I_SET_LAST_DAY_OF_MONTH = 'X' "返回的日期为当前月份的最后一天IMPORTINGE_DATE = E_DATE "返回的日期。

如果I_DAYS和I_CALENDAR_DAYS都设置,则天数累加E_FLG_END_OF_MONTH = FLAG "如果输入参数I_SET_LAST_DAY_OF_MONTH设置'X'了,则返回值为'X'。

E_DAYS_OF_I_DATE = DAY. "返回输入日期的…日‟字段与I_DAYS字段的和。

本例子为:252、获得周数DATA WEEK LIKE SCAL-WEEK.CALL FUNCTION 'DATE_GET_WEEK'EXPORTINGDATE = SY-DATUM ”输入日期,如:…20110402‟IMPORTINGWEEK = WEEK.“返回输入日期为该年第几周。

如:…201113‟。

表示为2011年的第13周。

3、获得某周的第一天日期DATA DATE LIKE SCAL-DATE.CALL FUNCTION 'WEEK_GET_FIRST_DAY'EXPORTINGWEEK = '201113' "表示2011年的第13周IMPORTINGDATE = DATE. "返回的DATE值为20110328,既2011年第13周的第一天是3月28日。

sap消息信息查询函数

sap消息信息查询函数

SAP中的消息信息查询通常涉及几个不同的方面,具体取决于你想查询的是哪种消息。

下面是一些常见类型的查询函数的概述:1. RFC(远程函数调用)查询:如果你想通过RFC从SAP系统中获取数据,你可以使用CALL FUNCTION语句。

例如,要从SAP系统中获取一个表的数据,你可以这样做:sqlCALL FUNCTION 'Z_GET_CUSTOMER_DATA'IMPORTINGIV_MATNR = 'MAT123'EXPORTINGEV_MATNR = 'MAT123'TABLESIT_DATA = lt_data.其中Z_GET_CUSTOMER_DATA是自定义RFC函数,lt_data是一个表变量,用来存储查询结果。

2. ABAP查询:如果你想在ABAP中进行查询,可以使用SELECT-OPTIONS语句。

例如,查询MATNR 字段:abapSELECT-OPTIONS: so_matnr FOR matnr.AT SELECTION-SCREEN OUTPUT.IF sy-subrc = 0.CALL FUNCTION 'Z_GET_MATERIAL_DATA'EXPORTINGmatnr = so_matnrIMPORTINGmaterial_data = lv_data.ENDIF.3. RFC库查询:SAP提供了RFC库,其中包含许多用于查询、写入和更新SAP数据的函数。

例如,要查询一个SAP表,可以使用READ TABLE语句:sqlREAD TABLE 'MATERIAL' INTO DATA:lt_material WITH KEY matnr = 'MAT123'.4. 外部系统查询:如果你想从SAP查询外部系统的数据,可以使用外部系统相关的RFC函数或API。

例如,从SAP ERP系统到SAP S/4HANA的迁移过程中,可以使用SAP迁移工具包(SLT)来查询源系统数据。

SAP的CALLFUNCTION函数汇总

SAP的CALLFUNCTION函数汇总

SAP的CALLFUNCTION函数汇总SAP 常用FUNCTIONBOM 展开函数CS_BOM_EXPL_MA T_V2:只展开BOM 的函数CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'EXPORTINGcapid = pm_capid “应用程序一般为PP01datuv = pm_datuv “通常为系统的当前日期mtnrv = pm_mtnrv “要展开BOM 的物料mehrs = 'X' “ x 表示多层展开﹐space 表示只展开第一层werks = pm_werks “ 通常为1000IMPORTINGtopmat = selpooldstst = dstst_flgTABLESstb = stb “展开的BOM 存放在该内表matcat = matcat “下面含有组件的物料存放在该内表CS_BOM_EXPL_ KND_V1:展开与特性相关的特定款号的BOM CALL FUNCTION 'CS_BOM_EXPL_ KND_V1' EXPORTING capid = pm_capid “应用程序一般为PP01datuv = pm_datuv “通常为系统的当前日期mtnrv = pm_mtnrv “要展开BOM 的物料cuobj = vbap_wa-cuobj “与特性相关的组态mehrs = 'X' “ x 表示多层展开﹐space 表示只展开第一层werks = pm_werks “ 通常为1000IMPORTINGtopmat = selpooldstst = dstst_flgTABLESstb = stb “展开的BOM 存放在该内表matcat = matcat “下面含有组件的物料存放在该内表范例见系统报表程序RCS12001STA TUS_TEXT_EDIT:获取生产定单状态call function 'STATUS_TEXT_EDIT'EXPORTINGflg_user_stat = 'X'objnr = LO_OBJNRonly_active = 'X'spras = sy-languIMPORTINGline = ls_statuEXCEPTIONSobject_not_found = 01.使用:objnr 状态对象号,only_active 启动的,LAST_DAY_OF_MONTHS:获取每个月的最后一天CALL FUNCTION 'LAST_DAY_OF_MONTHS' EXPORTINGday_in = dateIMPORTINGlast_day_of_month = date1.CONVERSION_EXIT_ALPHA_OUTPUT:去掉字符串前面0 DEFINE alpha_minus.call function 'CONVERSION_EXIT_ALPHA_OUTPUT' exportinginput = &1importingoutput = &1.END-OF-DEFINITION.CONVERSION_EXIT_ALPHA_INPUT:前面加0call function 'CONVERSION_EXIT_ALPHA_INPUT' exportinginput = &1importingoutput = &1.TH_DELETE_USER:踢用户CALL FUNCTION 'CUT_2BYTES_STRINGS' EXPORTINGI_STR = T_STRI_LEN = 4IMPORTINGO_STR = T_TXT04T_STR 输入字符I_LEN 长度T_TXT04输出字符SPELL_AMOUNT:金额转换成英文CALL FUNCTION 'SPELL_AMOUNT'EXPORTINGAMOUNT = T_AMOUNT10CURRENCY = 'RMB'LANGUAGE = '1'IMPORTINGIN_WORDS = S_AMWORD2EXCEPTIONSNOT_FOUND = 1TOO_LARGE = 2OTHERS = 3.CLOI_PUT_SIGN_IN_FRONT:把SAP里的负号放到前面来的函数DA TA : t(10) TYPE c V ALUE '65465-' .CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'CHANGINGvalue = t.write : t .CONVERT_OTF :将SAP文檔(SAP Script)转换成其它类型。

SAP-RFC-总结

SAP-RFC-总结

SAP-RFC-总结1.客户主数据1.1 创建、修改客户主数据*该函数更新所有字段,X表为原表,Y表为更新表CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL' EXPORTINGi_kna1 = is_kna1i_knb1 = is_knb1i_knvv = is_knvvi_bapiaddr1 = is_bapiaddr1i_maintain_address_by_kna1 = 'X'pi_postflag = 'X'i_from_customermaster = 'X'IMPORTINGe_kunnr = op_kunnrTABLESt_xknbk = it_bank_newt_xknvi = it_knvit_xknvp = it_knvpt_xknvk = it_knvkt_yknbk = it_yknbkt_yknvi = it_yknvit_yknvp = it_yknvpt_yknvk = it_yknvkEXCEPTIONSclient_error = 1kna1_incomplete = 2knb1_incomplete = 3knb5_incomplete = 4knvv_incomplete = 5kunnr_not_unique = 6sales_area_not_unique = 7sales_area_not_valid = 8insert_update_conflict = 9number_assignment_error = 10number_not_in_range = 11number_range_not_extern = 12number_range_not_intern = 13account_group_not_valid = 14parnr_invalid = 15bank_address_invalid = 16tax_data_not_valid = 17no_authority = 18company_code_not_unique = 19dunning_data_not_valid = 20knb1_reference_invalid = 21cam_error = 22OTHERS = 23.1.2 创建银行主数据CALL FUNCTION 'BAPI_BANK_CREATE' EXPORTINGbank_ctry = it_bank-banksbank_key = it_bank-banklbank_address = bankaddressi_xupdate = 'X'.1.3 删除、解除删除、冻结、解除冻结客户主数据CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL' EXPORTINGi_kna1 = is_kna1i_knb1 = is_knb1i_knvv = is_knvvi_maintain_address_by_kna1 = 'X'pi_postflag = 'X'i_from_customermaster = 'X'IMPORTINGe_kunnr = op_kunnr.1.4 显示客户主数据,可直接查询表kna1 ,knb1, knvv , knvp , knvk2 显示客户信贷主数据CALL FUNCTION 'CREDIT_EXPOSURE'EXPORTINGkkber = ip_kkberkunnr = ip_kunnrdate_credit_exposure = '99991231'IMPORTINGcreditlimit = creditlimitsum_opens = sum_opens.3 客户物料3.1 创建、修改客户物料CALL FUNCTION 'ENQUEUE_EVKNMT'EXPORTINGmode_knmt = 'E'mandt = sy-mandtvkorg = is_zrfc_s_sd024-vkorgvtweg = is_zrfc_s_sd024-vtwegkunnr = is_zrfc_s_sd024-kunnr* MATNR =x_vkorg = ' 'x_vtweg = ' 'x_kunnr = ' 'x_matnr = ' '_scope = '2'_wait = ' '_collect = ' 'EXCEPTIONSforeign_lock = 1system_failure = 2OTHERS = 3.*在此添加必要的逻辑判断CALL FUNCTION 'RV_CUSTOMER_MATERIAL_UPDATE' IN UPDATE TASK TABLESxknmt_tab = xknmtyknmt_tab = yknmttcatalog_tab = lt_catalog.CALL FUNCTION 'DEQUEUE_EVKNMT'EXPORTINGmode_knmt = 'E'mandt = sy-mandtvkorg = is_zrfc_s_sd024-vkorgvtweg = is_zrfc_s_sd024-vtwegkunnr = is_zrfc_s_sd024-kunnr* MATNR =x_vkorg = ' 'x_vtweg = ' 'x_kunnr = ' 'x_matnr = ' '_scope = '3'_synchron = ' '_collect = ' '.3.2 显示客户物料,可直接查询表knmt4.订单价格条件4.1 创建,修改条件记录,可使用BDC实现4.2 显示条件记录,可直接查询表A3055.销售订单5.1创建销售订单*凭证类型->凭证类别->对象类型SELECT SINGLE VBTYP INTO VBTYP FROM TVAK WHERE AUART =IS_ZRFC_S_SD037-DOC_TYPE.CALL FUNCTION 'SD_OBJECT_TYPE_DETERMINE'EXPORTINGI_DOCUMENT_TYPE = VBTYPIMPORTINGE_BUSINESS_OBJECT = OBJTYPE.IF OBJTYPE = 'BUS2032'.CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'EXPORTINGORDER_HEADER_IN = ORDER_HEADER_INORDER_HEADER_INX = ORDER_HEADER_INXLOGIC_SWITCH = LOGIC_SWITCHTESTRUN = ' 'CONVERT = ' 'IMPORTINGSALESDOCUMENT = EP_VBELNTABLESRETURN = ET_LOGORDER_ITEMS_IN = ORDER_ITEMS_INORDER_ITEMS_INX = ORDER_ITEMS_INXORDER_PARTNERS = ORDER_PARTNERSORDER_SCHEDULES_IN = ORDER_SCHEDULES_INORDER_SCHEDULES_INX = ORDER_SCHEDULES_INXORDER_CONDITIONS_IN = ORDER_CONDITIONS_INORDER_CONDITIONS_INX = ORDER_CONDITIONS_INXORDER_TEXT = IS_ORDER_TEXT.ELSE.fbgenmac 'BAPI_SALESORDER_CREATEFROMDAT2'.* BAPIs run without dialogCALL FUNCTION 'DIALOG_SET_NO_DIALOG'.* Set global Bapiflag for further background processing "1112263CALL FUNCTION 'IBAPI_Z_SET_BAPI_FLAG' "1112263EXPORTING "1112263iv_flag = 'X'. "1112263*ENHANCEMENT-SECTIONBAPI_SALESORDER_CREATEFROMD_02 SPOTS ES_SAPL2032.CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'EXPORTINGsalesdocument = salesdocumentinsales_header_in = order_header_insales_header_inx = order_header_inxsender = senderbinary_relationshiptype = binary_relationshiptypeint_number_assignment = int_number_assignmentbehave_when_error = behave_when_errorlogic_switch = logic_switchbusiness_object = business_objecttestrun = testrunconvert_parvw_auart = convertIMPORTINGsalesdocument_ex = salesdocumentTABLESreturn = returnsales_items_in = order_items_insales_items_inx = order_items_inxsales_partners = order_partnerssales_schedules_in = order_schedules_insales_schedules_inx = order_schedules_inxsales_conditions_in = order_conditions_insales_conditions_inx = order_conditions_inxsales_cfgs_ref = order_cfgs_refsales_cfgs_inst = order_cfgs_instsales_cfgs_part_of = order_cfgs_part_ofsales_cfgs_value = order_cfgs_valuesales_cfgs_blob = order_cfgs_blobsales_cfgs_vk = order_cfgs_vksales_cfgs_refinst = order_cfgs_refinstsales_ccard = order_ccardsales_text = order_textsales_keys = order_keysextensionin = extensioninpartneraddresses = partneraddresses.*END-ENHANCEMENT-SECTION.* reset the dialogflagCALL FUNCTION 'DIALOG_SET_WITH_DIALOG'. ENDIF.5.2 修改销售订单CALL FUNCTION 'BAPI_SALESORDER_CHANGE'EXPORTINGSALESDOCUMENT = IS_ZRFC_S_SD042-VBELN ORDER_HEADER_IN = ORDER_HEADER_INORDER_HEADER_INX = ORDER_HEADER_INX LOGIC_SWITCH = LOGIC_SWITCHTABLESRETURN = ET_LOGORDER_ITEM_IN = ORDER_ITEM_INORDER_ITEM_INX = ORDER_ITEM_INX* partners = partnersPARTNERCHANGES = PARTNERCHANGESSCHEDULE_LINES = SCHEDULE_LINESSCHEDULE_LINESX = SCHEDULE_LINESXORDER_TEXT = IT_BAPISDTEXTCONDITIONS_IN = CONDITIONS_INCONDITIONS_INX = CONDITIONS_INX.5.3 显示销售订单CALL FUNCTION 'BAPISDORDER_GETDETAILEDLIST'EXPORTINGI_BAPI_VIEW = I_BAPI_VIEWI_MEMORY_READ = SPACETABLESSALES_DOCUMENTS = IT_SALES_KEYORDER_HEADERS_OUT = ORDER_HEADERS_OUTORDER_ITEMS_OUT = ORDER_ITEMS_OUTORDER_SCHEDULES_OUT = ORDER_SCHEDULES_OUTORDER_BUSINESS_OUT = ORDER_BUSINESS_OUTORDER_PARTNERS_OUT = ORDER_PARTNERS_OUTORDER_ADDRESS_OUT = ORDER_ADDRESS_OUTORDER_STATUSHEADERS_OUT = ORDER_STATUSHEADERS_OUTORDER_STATUSITEMS_OUT = ORDER_STATUSITEMS_OUTORDER_CONDITIONS_OUT = ORDER_CONDITIONS_OUTORDER_COND_HEAD = ORDER_COND_HEADORDER_COND_ITEM = ORDER_COND_ITEMORDER_COND_QTY_SCALE = ORDER_COND_QTY_SCALEORDER_COND_VAL_SCALE = ORDER_COND_VAL_SCALEORDER_CONTRACTS_OUT = ORDER_CONTRACTS_OUTORDER_TEXTHEADERS_OUT = ORDER_TEXTHEADERS_OUT ORDER_TEXTLINES_OUT = ORDER_TEXTLINES_OUTORDER_FLOWS_OUT = ORDER_FLOWS_OUTORDER_BILLINGPLANS_OUT = ORDER_BILLINGPLANS_OUT ORDER_BILLINGDATES_OUT = ORDER_BILLINGDATES_OUT ORDER_CREDITCARDS_OUT = ORDER_CREDITCARDS_OUT EXTENSIONOUT = EXTENSIONOUT.5.4 销售订单清单,可直接查询表VBAK,VBAP,VBUK,VBUK,VBEP,VBKD,KONV等5.5 销售凭证审批(VKM1),可用EXPORT,IMPORT方法调用系统标准程序RVKRED01实现5.5 销售订单在分配(VKM2,VKM3)CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.CALL FUNCTION 'SD_ORDER_CREDIT_RECHECK'EXPORTINGflg_update = 'X'vbeln = it_zrfc_s_sd013-vbeln.6 显示销售凭证流CALL FUNCTION 'RV_ORDER_FLOW_INFORMATION'EXPORTING* AUFBEREITUNG = '2'* BELEGTYP = ' 'COMWA = COMWA* NACHFOLGER = 'X'* N_STUFEN = '50'* VORGAENGER = 'X'* V_STUFEN = '50'* IMPORTING* BELEGTYP_BACK = BELEGTYP_BACKTABLESVBFA_TAB = VBFA_TAB* EXCEPTIONS* NO_VBFA = 1* NO_VBUK_FOUND = 2.7 销售雇员7.1 创建、修改销售雇员*可根据实际需求创建试图CALL FUNCTION 'BAPI_HRMASTER_SAVE_REPL_MULT'TABLESHR_OBJECT_HEADER = HR_OBJECT_HEADERHR_INFOTYPE_HEADER = HR_INFOTYPE_HEADEREMPLOYEE_PERSONNEL_ACTION = EMPLOYEE_PERSONNEL_ACTIONEMPLOYEE_ORG_ASSIGNMENT = EMPLOYEE_ORG_ASSIGNMENTEMPLOYEE_PERSONAL_DATA = EMPLOYEE_PERSONAL_DATAEMPLOYEE_SALES_ORG_ASSIGNMENT = EMPLOYEE_SALES_ORG_ASSIGNMENTEMPLOYEE_PRIVATE_ADDRESS = EMPLOYEE_PRIVATE_ADDRESS EMPLOYEE_COMMUNICATIONS = EMPLOYEE_COMMUNICATIONSEMPLOYEE_PAYROLL_STATUS = EMPLOYEE_PAYROLL_STATUSRETURN = RETURN.7.2 显示销售雇员,可直接查询表PA0001 , PA0002 ,PA0900等注:以上RFC为项目中实际使用,读者可根据实际情况调整参数即可使用,此贴为长时间积累所得,转载请注明出处!供应商BAPI_VENDOR_CREATE。

SAP附件清单的调用

SAP附件清单的调用

在SAP很多业务场景中都会用到附件清单,如采购订单,发票,页面抬头位置有一个对象的服务下拉菜单,点击附件清单后可为此业务数据上传和下载附件。

附件清单的调用函数
CALL FUNCTION 'GOS_ATTACHMENT_LIST_POPUP'
EXPORTING
IS_OBJECT = IS_OBJECT
* IP_CHECK_ARL = 'X'
* IP_CHECK_BDS = 'X'
* IP_NOTES = 'X'
* IP_ATTACHMENTS = 'X'
* IP_URLS = 'X'
* IP_MODE = 'D'
* IMPORTING
* EP_SAVE_REQUEST =
* TABLES
* IT_OBJECTS =
主要传输两个参数
IS_OBJECT和IP_MODE
IS_OBJECT-INSTID是一个以单据或者凭证号为基础的字符串,在不同的业务中其构成形式不同,如FB03中是公司代码+凭证编号+会计年度组成的字符串,可自行根据自己所在的业务场景点击附件清单后查看字符串的内容以确定其构成。

IS_OBJECT-TYPEID代表业务类型,这里根据自己所在业务场景用TCODE:SWO1查找(这里务必填对,否则无法取到对应业务的附件清单可先在前台上传附件然后更换TYPEID尝试看测试的附件是否显示来确定)
IS_OBJECT-CATID 这里固定值填B
IP_MODE D,显示,E可更改但不提交数据库更新,C可更改并可提交数据库更新。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SAP 常用FUNCTIONBOM 展开函数CS_BOM_EXPL_MA T_V2:只展开BOM 的函数CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'EXPORTINGcapid = pm_capid “应用程序一般为PP01datuv = pm_datuv “通常为系统的当前日期mtnrv = pm_mtnrv “要展开BOM 的物料mehrs = 'X' “ x 表示多层展开﹐space 表示只展开第一层werks = pm_werks “ 通常为1000IMPORTINGtopmat = selpooldstst = dstst_flgTABLESstb = stb “展开的BOM 存放在该内表matcat = matcat “下面含有组件的物料存放在该内表CS_BOM_EXPL_ KND_V1:展开与特性相关的特定款号的BOM CALL FUNCTION 'CS_BOM_EXPL_ KND_V1' EXPORTINGcapid = pm_capid “应用程序一般为PP01datuv = pm_datuv “通常为系统的当前日期mtnrv = pm_mtnrv “要展开BOM 的物料cuobj = vbap_wa-cuobj “与特性相关的组态mehrs = 'X' “ x 表示多层展开﹐space 表示只展开第一层werks = pm_werks “ 通常为1000IMPORTINGtopmat = selpooldstst = dstst_flgTABLESstb = stb “展开的BOM 存放在该内表matcat = matcat “下面含有组件的物料存放在该内表范例见系统报表程序RCS12001STA TUS_TEXT_EDIT:获取生产定单状态call function 'STATUS_TEXT_EDIT'EXPORTINGflg_user_stat = 'X'objnr = LO_OBJNRonly_active = 'X'spras = sy-languIMPORTINGline = ls_statuEXCEPTIONSobject_not_found = 01.使用:objnr 状态对象号,only_active 启动的,LAST_DAY_OF_MONTHS:获取每个月的最后一天CALL FUNCTION 'LAST_DAY_OF_MONTHS' EXPORTINGday_in = dateIMPORTINGlast_day_of_month = date1.CONVERSION_EXIT_ALPHA_OUTPUT:去掉字符串前面0 DEFINE alpha_minus.call function 'CONVERSION_EXIT_ALPHA_OUTPUT' exportinginput = &1importingoutput = &1.END-OF-DEFINITION.CONVERSION_EXIT_ALPHA_INPUT:前面加0call function 'CONVERSION_EXIT_ALPHA_INPUT' exportinginput = &1importingoutput = &1.TH_DELETE_USER:踢用户CALL FUNCTION 'CUT_2BYTES_STRINGS' EXPORTINGI_STR = T_STRI_LEN = 4IMPORTINGO_STR = T_TXT04T_STR 输入字符I_LEN 长度T_TXT04输出字符SPELL_AMOUNT:金额转换成英文CALL FUNCTION 'SPELL_AMOUNT'EXPORTINGAMOUNT = T_AMOUNT10CURRENCY = 'RMB'LANGUAGE = '1'IMPORTINGIN_WORDS = S_AMWORD2EXCEPTIONSNOT_FOUND = 1TOO_LARGE = 2OTHERS = 3.CLOI_PUT_SIGN_IN_FRONT:把SAP里的负号放到前面来的函数DA TA : t(10) TYPE c V ALUE '65465-' .CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'CHANGINGvalue = t.write : t .CONVERT_OTF :将SAP文檔(SAP Script)转换成其它类型。

CALL FUNCTION 'CONVERT_OTF'EXPORTINGFORMAT = 'PDF'IMPORTINGBIN_FILESIZE = FILE_LENTABLESOTF = OTFDATALINES = PDFDATAEXCEPTIONSERR_MAX_LINEWIDTH = 1ERR_FORMAT = 2ERR_CONV_NOT_POSSIBLE = 3OTHERS = 4。

SD_VBAP_READ_WITH_VBELN:根据销售订单读取表vbap中的信息参数:import:I_VBELN 订单号(必输项)I_BYPASSING_BUFFER 是否回避bufferI_REFRESH_BUFFER 是否清空buffertables:ET_VBAPVB 不清楚其意义ET_VBAP vbap表VIEW_MAINTENANCE_CALL:维护表视图等参数:import:ACTION S = Display U = Change T = TransportCORR_NUMBER 传送号(上面的action是t)SHOW_SELECTION_POPUP 是否弹出选择画面VIEW_NAME 视图名NO_WARNING_FOR_CLIENTINDEP 跨集团是否现实警告VARIANT_FOR_SELECTION 变式名CHECK_DDIC_MAINFLAG 察看是否为可维护对象例子:CALL FUNCTION 'VIEW_MAINTENANCE_CALL'EXPORTINGACTION = 'U' "更新SHOW_SELECTION_POPUP = 'X' "显示选择画面VIEW_NAME = 'ZPPT000020' "表名NO_W ARNING_FOR_CLIENTINDEP = ' ' "不显示警告EXCEPTIONSCLIENT_REFERENCE = 1FOREIGN_LOCK = 2INV ALID_ACTION = 3NO_CLIENTINDEPENDENT_AUTH = 4NO_DATABASE_FUNCTION = 5NO_EDITOR_FUNCTION = 6NO_SHOW_AUTH = 7NO_TVDIR_ENTRY = 8NO_UPD_AUTH = 9ONL Y_SHOW_ALLOWED = 10SYSTEM_FAILURE = 11UNKNOWN_FIELD_IN_DBA_SELLIST = 12VIEW_NOT_FOUND = 13MAINTENANCE_PROHIBITED = 14OTHERS = 15.READ_TEXT/CREATE_TEXT:读取长文本/创建长文本参数:Import:CLIENT:集团ID:文本ID(TTXID中定义)LANGUAGE:语言NAME:文本名字()OBJECT:文本对象(TTXOB中定义)Export:HEADER:文本的描述信息Tables:LINES:文本内容例子:读取销售订单头文本CALL FUNCTION 'READ_TEXT'EXPORTINGID = ‘Y001’LANGUAGE = SY-LANGUNAME = ‘385’OBJECT = ‘VBBK’TABLESLINES = L_IT_LINESEXCEPTIONSID = 1LANGUAGE = 2NAME = 3NOT_FOUND = 4OBJECT = 5REFERENCE_CHECK = 6WRONG_ACCESS_TO_ARCHIVE = 7OTHERS = 8.CONVERSION_EXIT_CUNIT_OUTPUT:根据语言决定单位的显示参数:Import:INPUT:内部单位显示方式LANGUAGE:语言代码Export:LONG_TEXT:单位的长文本OUTPUT:外部单位显示方式SHORT_TEXT:单位的短文本例子:单位显示转换CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'EXPORTINGINPUT = ‘ST’LANGUAGE = SY-LANGUIMPORTINGOUTPUT = L_OUTEXCEPTIONSUNIT_NOT_FOUND = 1OTHERS = 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'EXPORTINGI_QUANTITY = 3.2I_UNIT =‘ST’EXCEPTIONSWRONG_DATA = 1OTHERS = 2.POSTAL_CODE_CHECK:检查邮政编码参数:Import:COUNTRY:国家(T005)----------必输ONE_TIME_ACCOUNT:不明确POSTAL_CODE:邮政编码POSTAL_CODE_PO_BOX:没用过,以下为推测:如果输入则会检查,如果t005表中的XPLPF设置了,那么如果输入PO_BOX,这个选项就必须输入。

相关文档
最新文档