Serarch help를 만들고 싶지만, 어떤 이유에서든지
만들지 못하고 있을 때, 괴롭죠?
그런 경우 중 하나가 여러 테이블에 걸쳐있는 필드
들을 가져와서 F4 스크린에 보여줘야 할 때입니다.
긴 말 필요없습니다.
다음 예제를 보시면 머릿속이 시원합니다.
REPORT YTEST5 .
TABLES: MARA, MAKT.
PARAMETERS: MATNR(18) TYPE C,
MAKTX(40) TYPE C.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR MATNR.
PERFORM POV_MATNR.
*&---------------------------------------------------------------------*
*& Form POV_MATNR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM POV_MATNR.
DATA : SELECTFIELD LIKE HELP_INFO-FIELDNAME,
IT_FIELDS LIKE HELP_VALUE OCCURS 0 WITH HEADER LINE,
SELECT_VALUE LIKE HELP_INFO-FLDVALUE,
LD_TABIX LIKE SY-TABIX.
CLEAR: SELECTFIELD, IT_FIELDS, SELECT_VALUE, LD_TABIX.
REFRESH: IT_FIELDS.
* F4를 눌렀을 때 보여지는 필드 선언.
DATA : BEGIN OF IT_VALUE OCCURS 0,
MATNR LIKE MARA-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF IT_VALUE.
* Help List를 테이블에서 가져온다.
SELECT * FROM MARA.
CLEAR: MAKT.
SELECT SINGLE * FROM MAKT WHERE MATNR = MARA-MATNR.
IT_VALUE-MATNR = MARA-MATNR.
IT_VALUE-MAKTX = MAKT-MAKTX.
APPEND IT_VALUE. CLEAR IT_VALUE.
ENDSELECT.
IF SY-DBCNT EQ 0.
MESSAGE E000(ZLGM) WITH '데이터가 없습니다.'.
ENDIF.
*아래 부분이 F4를 눌렀을 때, Hit List를 보여준다.
IT_FIELDS-TABNAME = 'MARA'.
IT_FIELDS-FIELDNAME = 'MATNR'.
IT_FIELDS-SELECTFLAG = 'X'.
APPEND IT_FIELDS.
IT_FIELDS-TABNAME = 'MAKT'.
IT_FIELDS-FIELDNAME = 'MAKTX'.
IT_FIELDS-SELECTFLAG = ' '.
APPEND IT_FIELDS.
CALL FUNCTION 'HELP_VALUES_GET_NO_DD_NAME'
EXPORTING
SELECTFIELD = SELECTFIELD
IMPORTING
IND = LD_TABIX
SELECT_VALUE = SELECT_VALUE
TABLES
FIELDS = IT_FIELDS
FULL_TABLE = IT_VALUE
EXCEPTIONS
FULL_TABLE_EMPTY = 1
NO_TABLESTRUCTURE_GIVEN = 2
NO_TABLEFIELDS_IN_DICTIONARY = 3
MORE_THEN_ONE_SELECTFIELD = 4
NO_SELECTFIELD = 5
OTHERS = 6.
CHECK NOT LD_TABIX IS INITIAL.
READ TABLE IT_VALUE INDEX LD_TABIX.
MATNR = SELECT_VALUE.
ENDFORM. " POV_MATNR
속편, DYNP_VALUES_READ와 DYNP_VALUES_UPDATE를 기대하세요. ^ ^
댓글 5
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
42 | GR 정보(MIGO) 조회 펑션. | 우헤헤 | 2013.03.04 | 5073 |
41 | 해당 플랜트/저장위치/제품의 가용수량 체크 함수 | 꿀단지 | 2011.10.11 | 5020 |
40 | 파일의 경로를 입력하면, 그 파일명과 디렉토리를 딱 나누어줍니다 [3] | 꿀단지 | 2011.10.11 | 4994 |
39 | IP를 가져오는 클래스 메소드 및 함수 [6] | sapjoy | 2007.04.04 | 4931 |
38 | 반올림 | 꿀단지 | 2011.10.11 | 4930 |
37 | [FI-AA] Asset의 description 등. 내역을 변경하려 합니다. 도와 주십시오. [2] | 노냐 | 2011.12.13 | 4915 |
» | F4 /Serarch help [5] | 꿀단지 | 2011.10.11 | 4878 |
35 | SAP Function 모음 [21] | CO01 | 2007.11.08 | 4849 |
34 | (-)부호를 앞으로 바꿔주는 함수입니다 [13] | ecbase | 2006.12.01 | 4842 |
33 | Holiday 와 Workingday 관련 펑션 [1] | 밤톨™ | 2008.03.05 | 4779 |
32 | POPUP관련함수들 [14] | Delight | 2008.04.30 | 4771 |
31 | Function 자료 [13] | 밥퍼 | 2007.04.25 | 4765 |
30 | 인덱스 정보, index column [1] | sapjoy | 2013.04.01 | 4761 |
29 | CRM에서 첨부파일 기능구현 | GG | 2016.02.03 | 4690 |
28 | PGM에서 File생성 및 전송이 가능합니다 [3] | 꿀단지 | 2011.10.11 | 4668 |
27 | background 관련 함수 [1] | sapjoy | 2006.12.28 | 4621 |
26 | 현재 떠있는 화면에서 특정 필드의 값을 읽어오는 함수. [7] | 나침반친구 | 2007.03.13 | 4508 |
25 | 기본적인 Function 모음입니다. [36] | Pioneer | 2007.11.26 | 4500 |
24 | 왕기초 펑션 [18] | 냐하하 | 2007.11.30 | 4489 |
23 | FUNCTION MODULES [27] | sapjoy | 2007.03.29 | 4485 |
아 정말 감사합니다^^;