메뉴 건너뛰기

SAP 한국 커뮤니티

안녕하세요. 주로 SERCH_HELP를 사용할때는 모듈풀이나, MethOD에서 이벤트를 사용해서 서치헬프를


 


사용했었는데... 이번에 운영을 하다보니 펑션을 사용한 ALV에서 서치헬프를 하게 되었습니다.


 


제가 원하는 것은 특정필드에 있는 F4를 클릭했을때, 그 해달 라인에 있는 자재번호를 비교해서 그 자재에 해당하는


 


서치헬프값만을 보여주고 싶습니다.


 


필드 카달로그에


 




LS_FIELDCAT_LVC-F4AVAILABL = 'X'.
LS_FIELDCAT_LVC-REF_FIELD = P_FIELDNAME.
LS_FIELDCAT_LVC-REF_TABLE = 'ZSDS164'.


 


위와 같은식으로 설정을 하면, 말그대로.. 딕셔너리에 있는 전체값을 가져오더라구요.


 


설정을 하지 않으면... 아예 F4텝이 뜨지를 않구요. 이게 그냥 CHAR3자리로 만든 필드라....


 


이게 없으면 안되는 것 같습니다.


 


나름 생각을 해보고 강제로 DATA_CHANGED를 이벤트탭에 추가해 이 이벤트를 발생시키면서,


 


 

DATA : G_DATA_CHANGED   TYPE SLIS_FORMNAME VALUE 'ALV_DATA_CHANGED'.


 


MOVE SLIS_EV_DATA_CHANGED TO LS_EVENT-NAME.
MOVE G_DATA_CHANGED TO LS_EVENT-FORM.
APPEND LS_EVENT TO IT_EVENTCAT.


 


F4탭을 누루는 부분에...


 


 

*&---------------------------------------------------------------------
*&      Form  ALV_DATA_CHANGED
*&---------------------------------------------------------------------
*       text
*----------------------------------------------------------------------
FORM ALV_DATA_CHANGED USING RR_DATA_CHANGED TYPE REF TO
                            CL_ALV_CHANGED_DATA_PROTOCOL.


 


 

PERFORM SET_POSSIBLE_ENTRY.


 

ENDFORM.                    " ALV_DATA_CHANGED


 


 


 


 

*&---------------------------------------------------------------------*
*&      Form  SET_POSSIBLE_ENTRY
*&---------------------------------------------------------------------*
FORM SET_POSSIBLE_ENTRY .

  DATA : SELECTFIELD  LIKE HELP_INFO-FIELDNAME,
           IT_FIELDS    LIKE HELP_VALUE OCCURS 1 WITH HEADER LINE,
           SELECT_VALUE LIKE HELP_INFO-FLDVALUE,
           LD_TABIX     LIKE SY-TABIX.

  CLEAR   : SELECTFIELD, IT_FIELDS, SELECT_VALUE, LD_TABIX.

* F4를 눌렀을때 보여지는 필드 선언.
  DATA : BEGIN OF IT_VALUE OCCURS 0,
          ARBN  LIKE ZASDT054-ARBN,
  END OF IT_VALUE.

  REFRESH : IT_FIELDS, IT_FIELDS,  IT_VALUE.
* 화면 필드 선언 -> 선택된 값을 화면 필드에 뿌려줄때 사용.
  DATA: SCR_FIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.

  CLEAR: IT_VALUE, IT_VALUE[].
  SELECT ARBN FROM ZASDT054
    INTO CORRESPONDING FIELDS OF TABLE IT_VALUE
   WHERE MATNR EQ IT_ALV-MATNR.

*F4를 눌렀을때 HIT LIST를 보여준다.
  IT_FIELDS-TABNAME    = 'ZASDT054'.
  IT_FIELDS-FIELDNAME  = 'ARBN'.
  IT_FIELDS-SELECTFLAG = 'X'"실제 선택되는 값에 'X' 표시
  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.
* Double Click시 값을 화면에 Display
  CHECK NOT LD_TABIX IS INITIAL.
  READ TABLE IT_VALUE INDEX LD_TABIX.
  IT_ALV-ZZMCD =  SELECT_VALUE.

ENDFORM.                    " SET_POSSIBLE_ENTRY


 


 


위와같은 로직을 넣었더니, 이 로직을 탄후에, ALV카탈로그에서 등록한 F4기능이 사용되는... 즉 프로그래밍한...


 


구문과 딕셔너리의 구문이 두번연속으로 발생하고 있습니다.


 


 


음... 새로만드는 것이면.. 속편하게... 메소드로 이벤트처리해버릴텐데....  운영의 길은 험난하네요,


 


이렇게 값이 두번 중복되는 걸 막는 방법이라던지, 간편하게 사용할 수 있는 방법을 알고 계시다면,


 


저에게 한수 지도 해주시면, 감사하겠습니다. o(__)o


 


 

번호 제목 글쓴이 날짜 조회 수
4152 <img src=3.gif>인터널 테이블 SELECT 질문입니다. [9] 마늘맛쿨피스 2009.11.02 2359
4151 <img src=3.gif>SMARTFROM 에서 페이지 번호는 어떻게 넣나요? [5] 권장원 2009.10.30 1439
4150 <img src=2.gif>FTP연동시 IP 주소가 아닌 도메인으로 접속하는 방법 [1] ABAP짱! 2009.10.30 1310
4149 <img src=3.gif>SELECTION-SCREEN COMMENT의 값이 자꾸 사라져요 [2] 아밥의길로 2009.10.29 1944
4148 <img src=1.gif>BSP에서 원천징수영수증 한글이 깨지는 현상이 발생합니다. 자유롬 2009.10.29 1827
4147 <img src=3.gif>트랜잭션 생성시 타입 선택 하는데 타입별로 설명 부탁드려요 ~ [8] 야생수컷 2009.10.28 2653
» <img src=1.gif>CALL_ALV_GRID_DISPLAY_LVC를 사용한 ALV에서의 F4_HELP 질문입니다~~ ^^ kan145 2009.10.28 1371
4145 <img src=2.gif>FTP를 통해 서버에 올린 파일 삭제관련 질문입니다. [3] 빠코 2009.10.28 1865
4144 <img src=1.gif>'FB03' 에서 첨부파일 리스트 기능에 대해 질문이 있습니다. [3] file rune 2009.10.27 2241
4143 <img src=2.gif>sql select 쿼리문 확인쫌 부탁드립니다. [4] 아밥고지를 찾아서 2009.10.26 1315
4142 <img src=3.gif>ALV상에 그래프를 표현하는 방법에 대해 궁금합니다. [5] 초밥 2009.10.26 1290
4141 <img src=2.gif>MS sql 로 db link방법에 대해 궁금 합니다. [5] 남산밑 2009.10.26 2697
4140 <img src=3.gif>FTP로 전송한 파일 삭제시 어떤 방법을 이용해야 되나요? [2] 빠코 2009.10.26 1891
4139 <img src=2.gif>Business One 선택에 대한 궁금증 [1] 에밥사랑 2009.10.26 1272
4138 <img src=3.gif>회계 전표 전기시 나오는 메세지들을 분류할 수 있을까요? [3] Ran 2009.10.25 1285
4137 <img src=3.gif>SAP NetWeaver 7.01 - ABAP Trial Version 설치 오류 [2] 초보생 2009.10.24 1724
4136 <img src=3.gif> 프린트 포맷을 어디서 어떻게 추가하는지 상세한 설명 부탁드립니다. [4] file sora 2009.10.23 2174
4135 <img src=2.gif>ALV 필드에 대해서 문의드립니다. [2] 99avenue 2009.10.23 1817
4134 <img src=3.gif>[re] 이거 챙피해서 누구한테 물어보지도 못하고 [1] SAMBATIME 2009.10.23 1127
4133 [re] <img src=2.gif>이거 챙피해서 누구한테 물어보지도 못하고 [1] file 방배 2009.10.23 1170