✏️ F4펑션 (F4IF_INT_TABLE_VALUE_REQUEST) - FIELD_TAB 설정

빵섭·2026년 2월 11일

✏️ ABAP 공부

목록 보기
16/16

❓ 예시

1. F4IF_INT_TABLE_VALUE_REQUEST


컬럼명을 지정해줘야할 때, 사용했음
1. value_tab , field_tab : field tab 설정을 통해 컬럼명을 임의로 지정이 가능
2. field tab을 줄 경우엔 value_tab 의 값을 문자열로 받기 때문에 정확한 offset 지정이 필요함

2. DDIF_FIELDINFO_GET


해당 필드의 정보를 얻기 위해 사용하는 펑션
1. 테이블 - 필드의 정보를 얻어오는 것이기 때문에, position (순서) offset (위치) 를 정확히 찾아줘야함
2. 디버깅을 통해 INTLEN (내부길이) 를 확인한 후 offset 값을 주면 찾기 편함

FORM f4_sysid .

  DATA : ls_field  TYPE dfies,
         lt_field  TYPE TABLE OF dfies,
         lt_return TYPE TABLE OF ddshretval,

         BEGIN OF ls_f4,
           data(500),
         END OF ls_f4,

         lt_f4 LIKE TABLE OF ls_f4.

  SELECT sysid, sysnm
    FROM ztfiifsysid
    INTO TABLE @DATA(lt_data).

  LOOP AT lt_data INTO DATA(ls_data).

    CONCATENATE ls_data-sysid ls_data-sysnm INTO ls_f4-data.

    APPEND ls_f4 TO lt_f4.
    CLEAR  ls_f4.

  ENDLOOP.

  CALL FUNCTION 'DDIF_FIELDINFO_GET'
    EXPORTING
      tabname    = 'ZTFIIFSYSID'
      fieldname  = 'SYSID'
      lfieldname = 'SYSID'
    IMPORTING
      dfies_wa   = ls_field.

  ls_field-fieldname = 'SYSID'.
  ls_field-scrtext_m = 'SYSTEM ID'.
  ls_field-position = 1.
  CLEAR : ls_field-offset.

  APPEND ls_field TO lt_field.
  CLEAR  ls_field.

  CALL FUNCTION 'DDIF_FIELDINFO_GET'
    EXPORTING
      tabname    = 'ZTFIIFSYSID'
      fieldname  = 'SYSNM'
      lfieldname = 'SYSNM'
    IMPORTING
      dfies_wa   = ls_field.

  ls_field-fieldname = 'SYSNM'.
  ls_field-scrtext_m = 'SYSTEM 이름'.
  ls_field-position = 2.
  ls_field-offset = 8.                 " 바이트 수로 계산해서 위치 찍기

  APPEND ls_field TO lt_field.
  CLEAR  ls_field.

* value_tab 과 field_tab 모두 줘야하는 경우, ( 빌트인으로 설계된 테이블 )
* field_tab 에 정확한 offset 을 줘야 제대로 찍힘.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield    = 'SYSID'
      dynpprog    = sy-repid
      dynpnr      = sy-dynnr
      dynprofield = 'PA_SYSID'
      value_org   = 'S'
    TABLES
      value_tab   = lt_f4
      field_tab   = lt_field.

ENDFORM.
profile
ABAP / SAP

0개의 댓글