sap-function 常用 大全
- 格式:xls
- 大小:247.50 KB
- 文档页数:40
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 常用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)转换成其它类型。
SAP_FICO常用事务代码SAP_FICO常⽤事务代码1、会计科⽤维护:FS00:总账科⽤主记录维护FSP0:科⽤表中总账科⽤主记录维护FSS0:公司代码中总账科⽤主记录维护2、会计凭证创建FB01:创建凭证F-02:总账凭证创建(在FB01的基础上增加了默认带出:SA总账凭证类型、40记账码)3、会计凭证修改:FB024、会计凭证显⽤:FB035、预制凭证创建/修改/显⽤:F-65/FBV2/FBV36、对供应商发票记帐/输⽤⽤出发票:FB607、给供应商付款记帐/付款记帐/应付账款付款清帐:F-538、对客户开具发票/输⽤收⽤发票:FB709、收客户还款记帐/收款记帐/应收账款收款清帐:F-2810、带清帐过账:F-04,包含了F-44、F-32、F-03的功能11、供应商清帐(结算供应商):F-4412、客户清帐(结算客户):F-3213、总账清帐(结算总账):F-0314、⽤动清帐(⽤动结算):F.13,OB74⽤动清帐的附加规则15、冲销凭证:FB0816、重置已清帐(已结清)项⽤:FBRA17、供应商余额显⽤:FK10N18、客户余额显⽤:FD10N19、总账科⽤余额显⽤:FS10N,新的事务代码FAGLB0320、供应商⽤项⽤:FBL1N21、客户⽤项⽤:FBL5N22、总账⽤项⽤:FBL3N23、供应商创建/修改/显⽤:FK01/FK02/FK0324、供应商修改⽤志:FK0425、供应商冻结与解冻:FK0526、客户创建/修改/显⽤:FD01/FD02/FD0327、客户修改⽤志:FD0428、客户冻结与解冻:FD0529、物料凭证创建/修改/显⽤:MB01/MB02/MB0330、显⽤已取消的物料凭证:MBSM31、物料凭证清单查看:MB5131、物料的库存:MB5233、预制发票:MIR734、发票校验:MIRO35、发票修改/显⽤:MIR4/MIR536、取消发票校验:MR8M37、开票:VF0138、取消开票:VF1139、开关财务账期:OB5240、开关物料账期:MMPV41、发票校验确认应付款(有MM集成):查看采购订单及⽤库情况ME23N/ME2M,物料凭证MB01/MB02/MB03,预制发票MIR7修改显⽤MIR4/MIR5,应付(供应商)余额及明细FK10N/FBL1N42、销售发票确认应收款(有SD集成):应收(客户)余额及明细FD10N/FBL5N43、物料价格分析:CKM344、实际物料成本执⽤:CKMLCP。
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常用系统函数归纳函数名描述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 using RFC 实例: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.---------------------------------------------------------------------------------------------函数名描述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 显示检索 helpREAD_TEXT 读取长文本CONVERSION_EXIT_CUNIT_OUTPUT 单位转换SJIS_DBC_TO_SBC 全角转半角SJIS_SBC_TO_DBC 半角转换为全角CO_R0_CHECK_DECIMAL_POINT 根据单位检查数据的小数位POSTAL_CODE_CHECK 检查邮政编码函数名描述CONVERSION_EXIT_ALPHA_INPUT 全数字则在前面补 0CONVERSION_EXIT_ALPHA_INPUT 和上面相反GET_JOB_RUNTIME_INFO 获得 job 相关信息TERMINAL_ID_GET 获得端末 idDATE_CONVERT_TO_FACTORYDATE 把输入日期转为工厂日历日期MESSAGE_TEXT_BUILD 把消息转为文本函数名描述POPUP_TO_CONFIRM 弹出确认窗口函数名描述CONVERSION_EXIT_MATN1_INPUT 物料号码转换函数CONVERSION_EXIT_MATN1_OUTPUT 同上相反CONVERT_TO_LOCAL_CURRENCY 按照指定日期汇率转换金额为指定货币类型 SSF_FUNCTION_MODULE_NAME 根据 form 名取得对应的函数名(SmartForm)函数名描述DATE_CHECK_PLAUSIBILITY 日期 CHECKcl_gui_frontend_services=>gui_upload 上传到服务器cl_gui_frontend_services=>gui_download 下载到服本地SSF_FUNCTION_MODULE_NAME SMARTFORMS 输出报表时,生成一个函数名称,然后 CALL 这个名称函数名描述POPUP_TO_DECIDE_LIST 弹出供选择窗口1.function : SD_VBAP_READ_WITH_VBELN功能:根据销售订单读取表 vbap 中的信息参数:import : I_VBELN 订单号(必输项)I_BYPASSING_BUFFER 是否回避 bufferI_REFRESH_BUFFER 是否清空 buffertables : ET_VBAPVB 不清楚其意义ET_VBAP vbap 表2.form : EDIT_LINES功能:把 READ_TEXT 返回的 LINES 中的行按照 TDFORMAT=“*”重新组织原因:如果用 CREATE_TEXT 登录的长文本不存在该问题,如果是在前台业务登录的 text ,那么存到数据库的时候会在 72 位的地方换行,在 lines 这个表中的 TDFORMAT 设置为空,导致READ_TEXT 返回的表中的行数也许不是你需要的行数。
[SAPABAP开发技术总结]Function远程、同步、异步调⽤调⽤20.1.1.更新FM:CALL FUNCTION update_function IN UPDATE TASK,直到Commit Work 才运⾏主要⽤于本地更新(⾮远程RFC调⽤,如果是远程调⽤,则采⽤事务性RFC调⽤⽅式:IN BACKGROUND TASK)20.1.2.RFC函数:远程调⽤20.1.2.1.同步CALL FUNCTION func [ dest] [?desti?nei??n](在DESTINATION不省略的情况下,且dest取值⼜不为SPACE,则函数⼀定要是RFC函数才能采⽤此⽅式进⾏远程同步调⽤)20.1.2.2.异步CALL FUNCTION rfm_name dest]taskname PERFORMING return_form ON END OF TASKFORM return_form USING taskname....RECEIVE RESULTS FROM FUNCTION rfm_name...ENDFORM.WAIT UNTIL log_exp [UP TO sec SECONDS].参数;函数⼀定要是RFC函数才能采⽤异步调⽤;只要有STARTING NEW TASK选项,即为异步调⽤;如果是异步调⽤同⼀⽬标端的RFC函数,则可以省略DESTINATION20.1.2.2.1.事务性RFC调⽤实质上事务RFC调⽤也属于异步调⽤func [DESTINATION dest],并不⽴即执⾏,直到主调程序中的语句(隐式提交不要,⼀定要使⽤COMMIT WORK显⽰提交)才⼀次性执⾏多个远程函数调⽤(函数⼀定要为RFC函数,且要通过Commit Work语句显⽰提交后,才会去执⾏,否则不会执⾏;如果是同⼀⽬标端的RFC函数,则可以省略DESTINATION)20.1.2.3.DESTINATION 取值NONE:当前程序所在应⽤服务器作为⽬标系统,但调⽤过程还是RFC远程⽅式来调⽤,这与SPACE是同的l⽬标: DESTINATION选项将会被忽略,被调功能函数将作为普通函数在本机调⽤l⽬标BACK:⽤于被远程调⽤的RFM程序内部的CALL FUNCTION语句中的⽬标指定,通过已建⽴的RFC连接反过来调⽤该函数的主调者系统中的其他功能模块(即主调程序—>远程系统中的RFM—>⼜回调主调程序所在系统中的其他函数)。
函数名描述SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMA T=“*”重新组织VIEW_MAINTENANCE_CALL 维护表视图函数名描述DY_GET_FOCUS 获得屏幕焦点DY_GET_SET_FIELD_V ALUE 获得或者设置屏幕字段的值函数名描述F4IF_INT_TABLE_V ALUE_REQUEST 显示检索helpREAD_TEXT 读取长文本CONVERSION_EXIT_CUNIT_OUTPUT 单位转换SJIS_DBC_TO_SBC 全角转半角SJIS_SBC_TO_DBC 半角转换为全角CO_R0_CHECK_DECIMAL_POINT 根据单位检查数据的小数位POSTAL_CODE_CHECK 检查邮政编码函数名描述CONVERSION_EXIT_ALPHA_INPUT 全数字则在前面补0CONVERSION_EXIT_ALPHA_INPUT 和上面相反GET_JOB_RUNTIME_INFO 获得job相关信息TERMINAL_ID_GET 获得端末idDA TE_CONVERT_TO_FACTORYDA TE 把输入日期转为工厂日历日期MESSAGE_TEXT_BUILD 把消息转为文本函数名描述POPUP_TO_CONFIRM 弹出确认窗口函数名描述CONVERSION_EXIT_MA TN1_INPUT 物料号码转换函数CONVERSION_EXIT_MA TN1_OUTPUT 同上相反CONVERT_TO_LOCAL_CURRENCY按照指定日期汇率转换金额为指定货币类型SSF_FUNCTION_MODULE_NAME 根据form名取得对应的函数名(SmartForm)函数名描述DA TE_CHECK_PLAUSIBILITY日期CHECKcl_gui_frontend_services=>gui_upload 上传到服务器cl_gui_frontend_services=>gui_download 下载到服本地SSF_FUNCTION_MODULE_NAME SMARTFORMS输出报表时,生成一个函数名称,然后CALL这个名称函数名描述POPUP_TO_DECIDE_LIST 弹出供选择窗口ABAP_DOCU_DOWNLOAD –以HTML格式下载ABAP文档。
SAP几个常用函数.docSAP中几个常用函数函数名描述ABAP_DOCU_DOWNLOAD Download ABAP documentation in HTML format.ARFC_GET_TID-以十六进制形式返回终端的IP地址。
ADDR_GET_COMPLETE_ALL_TYPES 功能:获得地址的相关信息BP_EVENT_RAISE-在ABAP/4程序屮触发一个事件。
BKK_ADD_MONTH_TO_DATE 日期的加减BAPI_COMPANYCODE_GET_PERIOD功能:获得公司的会计年度以及过账日期CONVERT_OTFSPOOLJOB_2_PDF ? converts a OTF spool to PDF (i。
e。
Sap script document)CONVERT_ABAPSPOOLJOB_2_PDF -convert ABAP spool output to PDFCLPBJMPORT :从剪贴板导入internal tableCLPB_EXPORT :从internal table 输入到剪贴板COMMIT_TEXT -To load long text into SAP。
CONVERT_OTF -将SAP文档(SAP Script)转换成其他类型。
CONVERT_TO_LOCAL_CURRENCY按照指定日期汇率转换金额为指定货币类型cLgui_frontend_services=>gui_upload 上传到服务器cLguiJrontend_services=>gui_download下载至U服本地CURRENCY_AMOUNT_SAP_TO_BAPI 数量因货币变化CONVERSION_EXIT_CUNIT_OUTPUTCONVERSION_EXIT_ALPHA_INPUT CONVERSION_EXIT_ALPHA_ OUTPUT CONVERSION_EXIT_MATN1_INPUT 功能:根据语言决定单位的显示全数字则在前面补0和上面相反物料号码转换函数CONVERSION EXIT MATN1 OUTPUT 同上相反CLOI_PUT_SIGN_IN_FRONT CO RO CHECK DECIMAL POINT 功能:将负号提前功能:根据单位检查数据的小数位DAY_ATTRIBUTES_GETReturn useful information about a day. Will tell you the day of the week as a word (Tuesday),the day of the week (2 would be Tuedsay), whether the day is a holiday, and more.(provided byFrancois Henrotte)?DATE_CHECK_PLAUSIBILITY 检查日期合法性DAY_IN_WEEK 通过这个日期得出那大是星期几DATE GET WEEK- 返回一个口期所在的周数。