Do.

[ABAP] Structure구조를 가져와서 필드 추가 본문

SAP/ABAP

[ABAP] Structure구조를 가져와서 필드 추가

성공보다는 가치를.. 2014. 9. 17. 11:09
728x90

현재 생성되어있는 Structure 구조체를 가져와서 원하는 필드를 추가한다.

 

   DATA:

    lr_struc_descr TYPE REF TO cl_abap_structdescr,

    lr_table_descr TYPE REF TO cl_abap_tabledescr.

  DATA:

    lt_abap_compdescr TYPE cl_abap_structdescr=>component_table,

    ls_abap_compdescr LIKE LINE OF lt_abap_compdescr.

  DATA:

    lt_comp_table TYPE cl_abap_structdescr=>component_table,

    ls_comp_table LIKE LINE OF lt_comp_table.

 

 * Step1.현재 Return되는 구조체를 가져온다.

  lr_struc_descr ?= cl_abap_typedescr=>describe_by_name( 'MDG_BS_MAT_S_ES_STA_RESP_ATTR' ).

  lt_abap_compdescr[] = lr_struc_descr->get_components( ).

 

* Step2.원하는 필드를 추가한다.

  ls_abap_compdescr-name = 'ZGRADE'.

  ls_abap_compdescr-type = cl_abap_elemdescr=>get_c( 2 ).

  APPEND ls_abap_compdescr TO lt_abap_compdescr.

 

* Step3.추가 반영된 구조 및 테이블을 생성한다.

  lr_struc_descr = cl_abap_structdescr=>create( lt_abap_compdescr ).

  lr_table_descr = cl_abap_tabledescr=>create( lr_struc_descr ).

 

* Step4.해당 테이블을 반영한다.

  CREATE DATA cr_data_table_ref TYPE HANDLE lr_table_descr.

 

728x90

'SAP > ABAP' 카테고리의 다른 글

[ABAP] WRITE CURRENCY  (0) 2016.09.05
[ABAP] 750 Query  (0) 2016.09.05
[FUNCTION] 호출된 데이터 Variant로 저장  (0) 2016.09.05
[ABAP] 강제 엔터 처리  (0) 2016.09.05
[FUNCTION] 파라메터 정보  (0) 2016.09.05