SAP_ABAP_FI
ABAP->Stru.를 Char형식으로 변환, Char을 Stru으로 변환 본문
DATA: BEGIN OF ls_job,
tabname TYPE tabname VALUE 'BKPF',
data TYPE REF TO data,
END OF ls_job,
lr_str TYPE REF TO data.
FIELD-SYMBOLS: <fs_data> TYPE STANDARD TABLE,
<fs_val> TYPE any.
"--> itab -> char로 변환할 fs
CREATE DATA lr_str TYPE zchar30000.
ASSIGN lr_str->* TO <fs_val>.
"-->Char 3000인 str, table type 생성
CREATE DATA ls_job-data TYPE TABLE OF zchar30000.
ASSIGN ls_job-data->* TO <fs_data>.
SELECT *
INTO TABLE @DATA(lt_bkpf)
FROM bkpf
WHERE gjahr = '2022'.
"--> 스트럭쳐 구조를 STRING구조로 변환하는 작업
LOOP AT lt_bkpf ASSIGNING FIELD-SYMBOL(<fs_wa>).
CALL FUNCTION 'SO_STRUCT_TO_CHAR'
EXPORTING
ip_struct = <fs_wa>
IMPORTING
ep_string = <fs_val>.
APPEND <fs_val> TO <fs_data>.
ENDLOOP.
"--> 스트럭쳐 구조를 STRING구조로 변환하는 작업
DATA: lr_line TYPE REF TO data,
lr_tabline TYPE REF TO data.
FIELD-SYMBOLS: <fs_to_val> TYPE any,
<fs_to_tab> TYPE STANDARD TABLE.
BREAK-POINT.
CREATE DATA lr_line TYPE (ls_job-tabname). " 대상 아이템에 스트럭쳐를 구함
ASSIGN lr_line->* TO <fs_to_val>.
CREATE DATA lr_tabline TYPE TABLE OF (ls_job-tabname). " 대상 아이템에 인터널테이블를 구함
ASSIGN lr_tabline->* TO <fs_to_tab>.
*--> STRING구조를 -> 대상 테이블의 구조로 변환하는 작업
LOOP AT <fs_data> ASSIGNING <fs_val>.
CALL FUNCTION 'SO_CHAR_TO_STRUCT'
EXPORTING
ip_string = <fs_val>
ip_structname = ls_job-tabname
IMPORTING
ep_struct = <fs_to_val>.
APPEND <fs_to_val> TO <fs_to_tab>.
ENDLOOP.
'SAP_ABAP_Source' 카테고리의 다른 글
SAP_ORACLE_DB_SELECT_Program (0) | 2023.03.04 |
---|---|
내가 필요한 Class.zip (0) | 2023.03.02 |
ABAP_Program Runtime (0) | 2023.03.02 |
SHDB->ABAP 소스 없이 디비에서 조회 후 값 Insert (0) | 2023.02.21 |
SE16N- 강제 모디파이 (0) | 2023.02.21 |