货铺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
推荐阅读:
《使用cl_gui_docking_container 实现多ALV》
《DEMO:S/4 1809 FAGLL03H 增加字段增强》
《几个ABAP实用模板,体力活就别一行行敲了,复制粘贴得了》
《SAP Parallel Accounting(平行分类账业务)配置+操作手册+BAPI demo程序》
《CC02修改确认日期BAPI:Processing of change number was canceled》
《女儿的部分书单》
《苏州游记》
《溜达:无锡》
《杂谈:几种接口》
《RESTful DEMO 一:SAP 如何提供 RESTful Web 服务》