货铺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 服务》