货铺QQ群号:834508274
微信群不能扫码进了,可以加我微信SAPliumeng拉进群,申请时请提供您哪个模块顾问,否则是一律不通过的。
进群统一修改群名片,例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接,小程序等,进群看公告,谢谢配合
不修改昵称会被不定期踢除,谢谢配合
最近偶然写个选择屏幕的帮助,太久不写这些了,忘了很多,然后网上查了一下。
这个demo是返回多值的。
效果:
就是选择工厂的时候把剩下的几个字段自动带过去。
另外,不允许手工输入,防止仨字段不配套嘛。
代码很简单:
TYPES: SHLP_DESCR_T TYPE SHLP_DESCR .
DATA: BEGIN OF ITAB OCCURS 0 ,
WERKS LIKE T001W-WERKS,
NAME1 LIKE T001W-NAME1,
BWKEY LIKE T001W-BWKEY,
END OF ITAB.
DATA: RETURN_TAB TYPE DDSHRETVAL OCCURS 0 .
PARAMETERS: P_WERKS LIKE T001W-WERKS,
P_NAME1 LIKE T001W-NAME1,
P_BWKEY LIKE T001W-BWKEY.
INITIALIZATION.
SELECT * FROM T001W INTO CORRESPONDING FIELDS OF TABLE ITAB[]
WHERE SPRAS = '1'.
AT SELECTION-SCREEN OUTPUT .
PERFORM FRM_SCREEN.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_WERKS .
PERFORM F4.
*&---------------------------------------------------------------------*
*& Form f4
*&---------------------------------------------------------------------*
FORM F4.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'WERKS'
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'P_WERKS'
VALUE_ORG = 'S'
CALLBACK_PROGRAM = SY-REPID
CALLBACK_FORM = 'CB_FORM'
DISPLAY = 'F' " <– Force
TABLES
VALUE_TAB = ITAB
RETURN_TAB = RETURN_TAB
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
ENDFORM. "f4
*&---------------------------------------------------------------------*
*& Form cb_form
*&---------------------------------------------------------------------*
FORM CB_FORM TABLES RECORD_TAB STRUCTURE SEAHLPRES
CHANGING SHLP TYPE SHLP_DESCR_T
CALLCONTROL LIKE DDSHF4CTRL.
DATA: INTERFACE LIKE LINE OF SHLP-INTERFACE.
READ TABLE SHLP-INTERFACE INTO INTERFACE INDEX 1.
INTERFACE-SHLPFIELD+4(1) = '2'.
INTERFACE-VALFIELD = 'P_NAME1'.
APPEND INTERFACE TO SHLP-INTERFACE.
INTERFACE-SHLPFIELD+4(1) = '3'.
INTERFACE-VALFIELD = 'P_BWKEY'.
APPEND INTERFACE TO SHLP-INTERFACE.
ENDFORM. "bo_callback_form
*&---------------------------------------------------------------------*
*& Form FRM_SCREEN
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM FRM_SCREEN .
LOOP AT SCREEN.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
仅仅是个简单demo,仅供参考,项目上自己看着写吧。
我网上查资料的时候是参考的老白的文章
http://blog.chinaunix.net/uid-8527621-id-2029921.html
推荐阅读:
《ABAP新语法1》
《ABAP新语法2》
《SM30添加按钮:批导,筛选,排序等完整demo 》
《关于 SM30/VIEW_MAINTENANCE_CALL锁整张表问题》
《Demo:弹出文本输入框》
《关于update task几个有意思的测试》
《动态批量修改任意表任意字段的值》
《动态获取查询条件的一个小Demo》
《使用cl_gui_docking_container 实现多ALV》
《VOFM 修改 组单开票时 会计凭拆分规则》
《DEMO SUBMIT 某程序并获取该程序ALV数据》
《DEMO:S/4 1809 FAGLL03H 增加字段增强》
《几个ABAP实用模板,体力活就别一行行敲了,复制粘贴得了》
《DEMO:BTE增强实现凭证创建检查》
《SAP Parallel Accounting(平行分类账业务)配置+操作手册+BAPI demo程序》
《CC02修改确认日期BAPI:Processing of change number was canceled》《我是怎样调试BAPI的,以F-02为例》
《我是不是被代码给耽误了……不幸沦为一名程序员……》
《三亚自由行攻略(自己穷游总结)》
《苏州游记》
《记码农十周年(20110214--20210214)》
《不一样的SAP干货铺群:帅哥靓妹、红包、烤羊腿!》
《十年老码农搬砖习惯和技巧》
《我这个老码农是怎么debug标准程序的》
《我是怎样调试BAPI的,以F-02为例》
《杂谈:几种接口》
《Odata 增删改查详例》
《ODATA CREATE_DEEP_ENTITY 详例》
《RESTful DEMO 一:SAP 如何提供 RESTful Web 服务》
《RESTful DEMO 四 :增删改查及调用》
《DEMO search help 增强 ( vl03n KO03 等)》
《录BDC时 弹出的公司代码框问题》
《搜索帮助系列》
《增强相关》
Debug 系列
DEBUG 系列一:Dump debug |
DEBUG 系列二:Configure Debugger Layer |
DEBUG系列三:使用 F9 和 watch point |
DEBUG系列四:第三方接口debug |
DEBUG系列五:Update 模式下的function debug |
DEBUG系列六:后台JOB debug |
DEBUG系列七:保存测试参数 |
DEBUG系列八:Debug弹出框 |
debug系列九:SM13查看update更新报错 |
DEBUG系列十:Smartforms debug |
DEBUG系列十一:GGB1 debug |
Debug系列十二:QRFC 队列 debug |
WDA Demo
WDA DEMO 0:开启服务 设置hosts |
WDA DEMO 02: 简单介绍 |
WDA DEMO 03: 根据选择条件查询并显示 |
WDA DEMO 04: select options 查询并显示 |
WDA DEMO 05:两个table联动展示数据 |
WDA DEMO 06: 创建事务代码 |
WDA DEMO 07 页面跳转及全局变量的使用 |
WDA DEMO 08 全局变量方式二 |
WDA DEMO 09 ALV 简单展示 |
WDA DEMO 1:简单查询并显示结果 |
WDA DEMO 10 代码模块化整理 |
WDA DEMO 11 根据BAPI/Function创建WDA |