ABAP : Dynamic ITAB for Ranges

Example of ABAP Code Dynamic Internal Table - Ranges
*---------------------------------------------------------------------*
*      Form  f_ranges_str

*      By Oka Wirasatha
*---------------------------------------------------------------------*


form F_RANGES_STR
  using FV_FIELD
        FV_SIGN FV_OPTION FV_LOW FV_HIGH.
  type-pools:
    ABAP.

  data:
    GR_STRUCTDESCR    type ref to CL_ABAP_STRUCTDESCR,
    GR_TABLEDESCR     type ref to CL_ABAP_TABLEDESCR,
    GR_DATADESCR      type ref to CL_ABAP_DATADESCR,
    GR_TYPEDESCR      type ref to CL_ABAP_TYPEDESCR,
    GT_COMPONENTS     type ABAP_COMPONENT_TAB,
    GW_COMPONENT      type line of ABAP_COMPONENT_TAB,
    GR_WA             type ref to DATA,
    GR_TAB            type ref to DATA,
    LV_TEXT(20).

  field-symbols: <fs_wa> type any,
                 <fs_val> type any,
                 <fs_tab> type TABLE.
* determine components of structure -> GT_COMPONENTS
  move 'SIGN' to GW_COMPONENT-NAME.
  GW_COMPONENT-TYPE ?= CL_ABAP_ELEMDESCR=>GET_C( P_LENGTH = 1 ).
  insert GW_COMPONENT into table GT_COMPONENTS.

  move 'OPTION' to GW_COMPONENT-NAME.
  GW_COMPONENT-TYPE ?= CL_ABAP_ELEMDESCR=>GET_C( P_LENGTH = 2 ).
  insert GW_COMPONENT into table GT_COMPONENTS.

  move 'LOW' to GW_COMPONENT-NAME.
  GW_COMPONENT-TYPE ?= CL_ABAP_ELEMDESCR=>DESCRIBE_BY_NAME( FV_FIELD ).
  insert GW_COMPONENT into table GT_COMPONENTS.

  move 'HIGH' to GW_COMPONENT-NAME.
  GW_COMPONENT-TYPE ?= CL_ABAP_ELEMDESCR=>DESCRIBE_BY_NAME( FV_FIELD ).
  insert GW_COMPONENT into table GT_COMPONENTS.

* get structure descriptor -> GR_STRUCTDESCR
  GR_STRUCTDESCR ?= CL_ABAP_STRUCTDESCR=>CREATE( GT_COMPONENTS ).

* create work area of structure GR_STRUCTDESCR -> GR_WA
  create data GR_WA type handle GR_STRUCTDESCR.
  assign GR_WA->* to <fs_wa>.

  GR_DATADESCR ?= GR_STRUCTDESCR.
  GR_TABLEDESCR ?= CL_ABAP_TABLEDESCR=>CREATE( GR_DATADESCR ).

* Create dynmaic internal table
  create data GR_TAB type handle GR_TABLEDESCR.
  assign GR_TAB->* to <fs_tab>.

  assign component 'SIGN' of structure <fs_wa> to <fs_val>.
  = FV_SIGN.
  assign component 'OPTION' of structure <fs_wa> to <fs_val>.
  = FV_OPTION.
  assign component 'LOW' of structure <fs_wa> to <fs_val>.
  = FV_LOW.
  assign component 'HIGH' of structure <fs_wa> to <fs_val>.
  = FV_HIGH.

  insert <fs_wa> into table <fs_tab>.

  loop at T_ITEM.
    concatenate 'T_ITEM-' FV_FIELD into LV_TEXT.
    assign (LV_TEXT) to <fs_val>.
    if not <fs_val> in <fs_tab>.
      delete T_ITEM.
    endif.
  endloop.
endform.                    "f_ranges_str

Comments

Mình đã tìm thấy các thông tin cần thiết ở đây, cảm ơn bạn. Mình cũng muốn giới thiệu về một Công ty dịch thuật uy tín - Công ty dịch thuật miền trung - MIDtrans , trụ sở chính chính tại địa chỉ 02 Hoàng Diệu, TP Đồng Hới, tỉnh Quảng Bình có Giấy phép kinh doanh số 3101023866 cấp ngày 9/12/2016 là đơn vị chuyên cung cấp dịch vụ dịch thuật, phiên dịch dành các cá nhân. Hệ thống thương hiệu và các Công ty dịch thuật con trực thuộc: dịch thuật an giang - dịch thuật miền trung tại địa chỉ 110 Trân Hưng Đạo TP Long Xuyên, An giang là địa chỉ chuyên cung cấp dịch vụ dịch thuật công chứng tại Long Xuyên, Châu Đốc, An Giang ; công ty dịch thuật hcm - dịch thuật sài gòn 247 , địa chỉ 47 Điện Biên Phủ, Phường Đakao, Quận 1 TP HCM, dịch thuật buôn mê thuột, đăk lăk : địa chỉ 100 , Lê lợi, TP Buôn Mê Thuột là nhà cung ứng dịch vụ dịch thuật uy tín hàng đầu tại Đăk Lăk; vietnamese translation : dịch vụ dịch thuật cho người nước ngoài có nhu cầu, giao diện tiếng Anh dễ sử dụng; dịch thuật công chứng gò vấp : nhà cung ứng dịch vụ dịch vụ dịch thuật phiên dịch hàng đầu tại Quận Bình Thạnh, TP HCM; dịch thuật đà nẵng : Địa chỉ 54 Đinh Tiên Hoàng, Quận Hải Châu, TP Đà Nẵng chuyên cung cấp dịch vụ dịch thuật công chứng, dịch thuật chuyên ngành tại Đà Nẵng; dịch thuật hà nội midtrans : địa chỉ 101 Láng Hạ, Đống Đa, Hà Nội là nhà cung ứng dịch vụ biên dịch, phiên dịch chuyên nghiệp tại địa bàn Hà Nội. Chúng tôi chuyên cung cấp các dịch vụ biên dịch và phiên dịch, dịch thuật công chứng chất lượng cao hơn 50 ngôn ngữ khác nhau như tiếng Anh, Nhật, Hàn, Trung, Pháp, Đức, Nga, Tây Ban Nha, Bồ Đào Nha, Ý, Ba Lan, Phần Lan, Thái Lan, Hà Lan, Rumani, Lào, Campuchia, Philippin, Indonesia, La Tinh, Thụy Điển, Malaysia, Thổ Nhĩ Kỳ..vv... Dịch thuật MIDtrans tự hào với đội ngũ lãnh đạo với niềm đam mê, khát khao vươn tầm cao trong lĩnh vực dịch thuật, đội ngũ nhân sự cống hiến và luôn sẵn sàng cháy hết mình. Chúng tôi phục vụ từ sự tậm tâm và cố gắng từ trái tim những người dịch giả.Tự hào là công ty cung cấp dịch thuật chuyên ngành hàng đầu với các đối tác lớn tại Việt nam trong các chuyên ngành hẹp như: y dược (bao gồm bệnh lý), xây dựng (kiến trúc), hóa chất, thủy nhiệt điện, ngân hàng, tài chính, kế toán. Các dự án đã triển khai của Công ty dịch thuật chuyên nghiệp MIDtrans đều được Khách hàng đánh giá cao và đạt được sự tín nhiệm về chất lượng biên phiên dịch đặc biệt đối với dịch hồ sơ thầu , dịch thuật tài liệu tài chính ngân hàng, dịch thuật tài liệu y khoa đa ngữ chuyên sâu. Đó là kết quả của một hệ thống quản lý chất lượng dịch thuật chuyên nghiệp, những tâm huyết và kinh nghiệm biên phiên dịch nhiều năm của đội ngũ dịch giả của chúng tôi. Hotline: 0947688883. email: info@dichthuatmientrung.com.vn . Các bạn ghé thăm site ủng hộ nhé. Cám ơn nhiều

Popular posts from this blog

ABAP Dialog Programming : Set Filter data of Table Control

Step by step Create SAP LIS Report

SAP Bapi Price Change (MR21)