SAP/ABAP

서치헬프 강제생성(헤더 변경 포함)

znoflo 2013. 3. 20. 17:00

데이터 엘리먼트를 생성하여 사용시 자동으로 헤더텍스트가 적용되나 여유치 않을 경우 다음과 같은 방식으로 헤더 텍스트를 강제로 적용 할 수 있다.

※ 필드 카달로그의 포지션과 오프셋 값에 따라 값이 이상하게 나오니 주의 요망.

 

*----------------------------------------------------------------------*
*       Form  F4_FTACD_LOW
*----------------------------------------------------------------------*
FORM F4_FTACD_LOW.

  DATA F4_RETURN LIKE DDSHRETVAL OCCURS WITH HEADER LINE.
  DATA LT_DFIELD LIKE DSELC OCCURS WITH HEADER LINE.
  DATA LT_FIELD  LIKE DFIES OCCURS WITH HEADER LINE.

  PERFORM GET_FIELDINFO USING 'Z4MMFTAM03' 'FTACD' CHANGING LT_FIELD.
  LT_FIELD-POSITION  1.
  LT_FIELD-OFFSET    0.
  LT_FIELD-SCRTEXT_M ='FTA코드'.
  APPEND LT_FIELDCLEAR LT_FIELD.

  PERFORM GET_FIELDINFO USING 'Z4MMFTAM03' 'FTANM' CHANGING LT_FIELD.
  LT_FIELD-POSITION  2.
  LT_FIELD-OFFSET    8.
  LT_FIELD-SCRTEXT_M ='FTA코드명'.
  APPEND LT_FIELD.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      WINDOW_TITLE    'FTA 체결 코드'
      RETFIELD        'FTACD'
      DYNPPROG        SY-CPROG
      DYNPNR          SY-DYNNR
      DYNPROFIELD     'S_FTACD-LOW'
      VALUE_ORG       'S'
    TABLES
      VALUE_TAB       GT_FTACD
      FIELD_TAB       LT_FIELD
      RETURN_TAB      F4_RETURN
    EXCEPTIONS
      PARAMETER_ERROR 1
      NO_VALUES_FOUND 2
      OTHERS          3.

ENDFORM" F4_FTACD_LOW

*---------------------------------------------------------------------*
*       Form GET_FIELDINFO
*---------------------------------------------------------------------*
FORM GET_FIELDINFO USING FU_TABNAME FU_FIELDNAME
                 CHANGING FWA_FIELD_TAB.


  CALL FUNCTION 'DDIF_FIELDINFO_GET'
    EXPORTING
      TABNAME        FU_TABNAME
      FIELDNAME      FU_FIELDNAME
      LFIELDNAME     FU_FIELDNAME
    IMPORTING
      DFIES_WA       FWA_FIELD_TAB
    EXCEPTIONS
      NOT_FOUND      1
      INTERNAL_ERROR 2
      OTHERS         3.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


ENDFORM" GET_FIELDINFO