abap中程序跳转(全)
1.常用https://www.cnblogs.com/jiangzhengjun/p/4292545.htmlhttps://blog.csdn.net/jy00873757/article/details/8517426parameter ID这样很方便一些客户用特定的数据,那如何去找parameter ID呢? 第一种方法,大家都很熟悉的就是用F1,直接可以看到这个数据元素的PARAMETER ID 第二种方法,直接到表里去找,表名是DD04L 但是这两种办法都是只能找到数据元素定义了parameter id的 如果parameter id没有和数据元素挂钩,那就找不到了 例如做会计清帐的时候,F-04里面有一个字段VAUSK,它的数据元素是VARNR_021 通过F1是找不到parameter id的,那就要用下面的两种办法了 第三种办法,通过表TPARA去找,所有的parameter id都能找到,但是只有描述,也很难找到 第四种办法,通过程序RPR_ABAP_SOURCE_SCAN去找 这个程序可以查找程序、屏幕等等 例如程序名我们输入SAPMF05O(清帐的标准程序),屏幕输入1101(标准屏幕) 字段输入VAUSK,运行,就可以找到parameter id 是LLK了 源代码是get parameter id'LLK' field rfcu4-vausk. " Ausgleichsv. Kreditor。程序跳转时的传参REPORT ZTXYY_11114. GET PARAMETER ID 'ZTXYY_11113' FIELD DATA(lv_flag). WRITE lv_flag. ************************************************** REPORT ZTXYY_11115. SET PARAMETER ID 'ZTXYY_11113' FIELD abap_true. SUBMIT ZTXYY_11114.执行ZTXYY_11115结果:其中的PARAMETER ID 'ZTXYY_11113'这个ZTXYY_11113是随意定义的名称该种方法缺陷在于无法用FREEMEMORY.或者FREEMEMORYID'ZTXYY_11113'.来清空缓存PC = 'Z'. EXPORT P1 = PC TO MEMORY ID 'ZTXYY'. DATA PC. IMPORT P1 = PC FROM MEMORY ID 'ZTXYY'.1.CALL TRANSACTION1.CALL TRANSACTION ta WITH|WITHOUT AUTHORITY-CHECK[AND SKIP FIRST SCREEN].其中ta为事务码tcode使用时要打单引号(')2. CALL TRANSACTION ta WITH|WITHOUT AUTHORITY-CHECKUSING bdc_tab{{[MODE mode][UPDATE upd]}|[OPTIONS FROM opt]}[MESSAGES INTO itab].其中ta为事务码tcode使用时要打单引号(')CALL TRANSACTION T-CODE WITH|WITHOUT AUTHORITY-CHECK USING bdc_tab [OPTIONS FROM opt].代码使用SET PARAMETER ID 'AAT' FIELD 'RK'. SET PARAMETER ID 'SPA' FIELD p_shar."这后面可以接变量(选择屏幕变量) SET PARAMETER ID 'VTW' FIELD '10'."要传几个参数值就写几行 CALL TRANSACTION 'VA01'." AND SKIP FIRST SCREEN . *++++++++++++++++++++++++++++++++++++++++++++++++++++++* CALL TRANSACTION 'VA01' AND SKIP FIRST SCREEN . "加上AND SKIP FIRST SCREEN会在传值之后直接执行或者回车 GET PARAMETER ID 'AAT' FIELD STR."获取值 *FREE MEMORY ID 'AAT'."memory id清除memory id其中AND SKIP FIRST SCREEN表示根据输入的参数直接跳转到相关操作页面BDC传参DATA bdcdata_tab TYPE TABLE OF bdcdata. DATA opt TYPE ctu_params. bdcdata_tab = VALUE #( ( program = 'SAPLSEOD' dynpro = '1000' dynbegin = 'X' ) ( fnam = 'BDC_CURSOR' fval = 'SEOCLASS-CLSNAME' ) ( fnam = 'SEOCLASS-CLSNAME' fval = class_name ) ( fnam = 'BDC_OKCODE' fval = '=WB_DISPLAY' ) ). opt-dismode = 'E'. opt-defsize = 'X'. TRY. CALL TRANSACTION 'SE24' WITH AUTHORITY-CHECK USING bdcdata_tab OPTIONS FROM opt. CATCH cx_sy_authorization_error ##NO_HANDLER. ENDTRY.WITH AUTHORITY-CHECK. TRY. CALL TRANSACTION 'F-02' WITH AUTHORITY-CHECK. CATCH cx_sy_authorization_error. MESSAGE s001(00) WITH '无此事务代码操作权限,请检查' DISPLAY LIKE 'E'. RETURN. ENDTRY. *如果程序没有上述权限异常控制,当权限不够时,可能会导致当前程序dump其中的多值传递范例DATASTRTYPECLENGTH25.GETPARAMETERID'VKO'FIELDSTR."获取SETID的值1.方法1REPORT ZTXYY_1141. TABLES:VBRK. DATA STR TYPE C LENGTH 25. SELECT-OPTIONS s_matnr FOR VBRK-VKORG ."MEMORY ID ZDEMO. FREE MEMORY ID 'ZDEMO'."清除MEMORY ID EXPORT s_matnr FROM s_matnr TO MEMORY ID 'ZDEMO'."传入MEMORY ID *SET PARAMETER ID 'VKO' FIELD STR."实现单值输入 CALL TRANSACTION 'ZTXYY_1142' ."AND SKIP FIRST SCREEN.程序ztxyy_1142定义了一个同名的tcode.REPORT ztxyy_1142. TABLES:vbrk. DATA str1 TYPE c LENGTH 25. SELECT-OPTIONS s_matnr FOR vbrk-vkorg. SELECT-OPTIONS s_matnr2 FOR vbrk-vkorg. INITIALIZATION. * GET PARAMETER ID 'VKO' FIELD str1."获取SET ID的值 IMPORT s_matnr TO s_matnr FROM MEMORY ID 'ZDEMO'."读取MEMORY ID FREE MEMORY ID 'ZDEMO'."清除MEMORY IDABAP程序间跳转CALL TRANSACTION-CSDN博客2.通过 BDC的方式传入多参数值ABAP程序中SUBMIT Program时、BDC CALL Transaction时填充参数的代码模板_abap submit-CSDN博客Call Transaction也即直接调用一个事务代码,其语法如下:CALL TRANSACTIONta WITH|WITHOUT AUTHORITY-CHECK… … … … … … … …USINGbdc_tab { {[MODEmode] [UPDATEupd]}… … … … … … … … | [OPTIONS FROMopt] }… … … … … … … … [MESSAGESINTO itab].具体的关键字用法,可查看ABAP的帮助文档。在CALL transaction时,其难点在于BDC字段的填充。注:BDC - Batch Data Input是SAP非常经典一种批量导入技术,可以通过录制屏幕(Tx: SHDB)操作,生成代码。在编程过程中,如果遇到类似的需求,也可以用宏 DEFINE快速实现,具体可参考下面的模板。下例中,填充BDC包含了两种复杂操作,一种是填充selection-option, 另一种是通过剪切板中的内容来填充selection option,因此调用到了 cl_gui_frontend_services=clipboard_expor()这个服务。模版DATA: lt_clipdata TYPE STANDARD TABLE OF char120, lv_rc TYPE i, ls_bdc TYPE bdcdata, lt_bdc TYPE STANDARD TABLE OF bdcdata WITH DEFAULT KEY. FIELD-SYMBOLS: ls_msgguid LIKE LINE OF it_msgguid. DEFINE bdc_dynpro. CLEAR ls_bdc. ls_bdc-program = 1. ls_bdc-dynpro = 2. ls_bdc-dynbegin = 'X'. INSERT ls_bdc INTO TABLE lt_bdc. END-OF-DEFINITION. "BDC_DYNPRO DEFINE bdc_field. CLEAR ls_bdc. ls_bdc-fnam = 1. ls_bdc-fval = 2. INSERT ls_bdc INTO TABLE lt_bdc. END-OF-DEFINITION. "BDC_DYNPRO CLEAR es_msg. CHECK it_msgguid IS NOT INITIAL. LOOP AT it_msgguid ASSIGNING ls_msgguid. INSERT CONV #( ls_msgguid-msgguid ) INTO TABLE lt_clipdata. ENDLOOP. IF sy-subrc = 0. DATA(lv_msgguid) = it_msgguid[ 1 ]-msgguid. * Put into clipboard cl_gui_frontend_services=clipboard_export( IMPORTING data = lt_clipdata * length = " Data length CHANGING rc = lv_rc EXCEPTIONS cntl_error = 1 error_no_gui = 2 not_supported_by_gui = 3 OTHERS = 4 ). IF sy-subrc 0. RETURN. ENDIF. ENDIF. " fill normal screen parameters bdc_dynpro '/AIF/ERROR_HANDLING_TRANS' '1000'. bdc_field 'BDC_OKCODE' '=%00291010003785126'. bdc_field 'P_APPL' 'AIF'. bdc_field 'P_STS_S' 'X'. bdc_field 'P_STS_W' 'X'. " selection-option fill 2 values bdc_field 'S_IFNAME-LOW' 'TEST_A'. bdc_dynpro 'BDC_CURSOR' 'S_IFNAME-LOW'. bdc_dynpro 'SAPLALDB' '3000'. bdc_field 'BDC_OKCODE' '=ACPT'

相关新闻

React Native ECharts性能优化指南:提升移动端图表渲染速度

React Native ECharts性能优化指南:提升移动端图表渲染速度

React Native ECharts性能优化指南:提升移动端图表渲染速度 【免费下载链接】react-native-echarts Echarts for react-native. The react-naitve chart. 项目地址: https://gitcode.com/gh_mirrors/re/react-native-echarts 在React Native应用开发中&#…

2026/11/5 2:52:18 阅读更多 →
@Scheduled定时器

@Scheduled定时器

@Scheduled定时器 一、基本使用 二、参数说明 fixedDelay fixedRate initialDelay cron 三、cron 表达式 参数说明 实用性的案例 四、@Scheduled注意事项 五、配置文件 1、fixedDelay 2、fixedRate 3、cron 一、基本使用 @Scheduled // 由Spring定义,用于将方法设置为调度任…

2026/11/5 6:18:02 阅读更多 →
Solarus引擎架构探秘:C++实现的2D游戏渲染机制

Solarus引擎架构探秘:C++实现的2D游戏渲染机制

Solarus引擎架构探秘:C实现的2D游戏渲染机制 【免费下载链接】solarus This repository was moved to GitLab: https://gitlab.com/solarus-games/solarus 项目地址: https://gitcode.com/gh_mirrors/so/solarus Solarus是一款功能强大的2D游戏引擎&#xff…

2026/11/4 20:54:53 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/5 12:28:00 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/5 1:08:50 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/5 12:28:01 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/5 12:28:02 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/5 0:54:28 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/5 19:38:59 阅读更多 →

日新闻

周新闻

月新闻