메뉴 건너뛰기

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


 


 

번호 제목 글쓴이 날짜 조회 수
4167 <img src=3.gif>ABAP에서 BADI와 BTE에 대해서 자세하게 설명 좀 해주세요~~ [3] 권장원 2009.11.05 1852
4166 <img src=2.gif>BDC로 입력 시 , 테이블 컨트롤 page down하는 방법 [7] file 에비앙 2009.11.05 1466
4165 <img src=3.gif>field exit 관한 질문입니다..보고 검토 쫌 부탁드립니다. [2] 아밥고지를 찾아서 2009.11.04 1340
4164 <img src=3.gif>구구단 코딩에서 잘 모르겠는 부분이 있어서 알려주세요 [3] 나도sap 2009.11.04 1783
4163 <img src=1.gif>ALV 컬럼텍스트 길이에 대해서 질문이 있습니다. file rune 2009.11.04 1806
4162 <img src=2.gif>salv관련 F4뜨게 하는것 관련 질문입니다. [2] 야생수컷 2009.11.04 1811
4161 <img src=3.gif>mk03을 call transaction하려고 합니다. [4] 토니 2009.11.04 1968
4160 <img src=2.gif>배치 job으로 조회된 데이타 text 로 지정한 디렉토리로 다운로드 하는 프로그램 아시는분 [2] 2009.11.04 1246
4159 <img src=2.gif>BAPI PR Release 시 Lock 걸리는 문제 [2] 비와바람 2009.11.03 1369
4158 <img src=2.gif>SELECT문에 대한 질문입니다. ㅠㅜ [3] 마늘맛쿨피스 2009.11.03 1225
4157 <img src=2.gif>[요청]sap화면에서 브라우저를 띄울수 있는 방법 좀 부탁드립니다. [2] 원니컴 2009.11.03 1823
4156 <img src=3.gif>인터널 테이블 간단히 아래로 복사하는 방법없을까요? [2] 아밥고지를 찾아서 2009.11.03 917
4155 SAP ECC 6.0에서 타시스템의 WEB Service 호출하는 방법 및 사례를 구합니다. SkyDream 2009.11.03 2371
4154 <img src=3.gif>레이아웃(스크린) 버튼 클릭시 에러가 납니다. [5] file 도움이 2009.11.03 1341
4153 <img src=3.gif>Web Dynpro for JAVA를 하기 위해서는? [6] 대장군 2009.11.02 1217
4152 <img src=3.gif>인터널 테이블 SELECT 질문입니다. [9] 마늘맛쿨피스 2009.11.02 2379
4151 <img src=3.gif>SMARTFROM 에서 페이지 번호는 어떻게 넣나요? [5] 권장원 2009.10.30 1446
4150 <img src=2.gif>FTP연동시 IP 주소가 아닌 도메인으로 접속하는 방법 [1] ABAP짱! 2009.10.30 1316
4149 <img src=3.gif>SELECTION-SCREEN COMMENT의 값이 자꾸 사라져요 [2] 아밥의길로 2009.10.29 1963
4148 <img src=1.gif>BSP에서 원천징수영수증 한글이 깨지는 현상이 발생합니다. 자유롬 2009.10.29 1833