From 5b7c8436b73c222105d96b707d55722af17614d0 Mon Sep 17 00:00:00 2001 From: MYSAP Date: Tue, 18 Aug 2026 04:47:25 +0000 Subject: [PATCH] First Commit (2026.08.18) --- .abapgit.xml | 10 + src/package.devc.xml | 10 + src/ycapgmedit.prog.abap | 29 +++ src/ycapgmedit.prog.xml | 21 ++ src/zcat0010.tabl.xml | 309 ++++++++++++++++++++++++++++ src/zcat0020.tabl.xml | 210 +++++++++++++++++++ src/zcreatedomain_element.prog.abap | 148 +++++++++++++ src/zcreatedomain_element.prog.xml | 21 ++ src/zcreatefunction.prog.abap | 87 ++++++++ src/zcreatefunction.prog.xml | 21 ++ src/zcreatetable.prog.abap | 198 ++++++++++++++++++ src/zcreatetable.prog.xml | 21 ++ src/zd_appli_tr01.doma.xml | 30 +++ src/ze_appli_tr01.dtel.xml | 23 +++ src/ze_se_code_value.dtel.xml | 24 +++ src/zqtxt_code.dtel.xml | 24 +++ src/zrfks0.tabl.xml | 64 ++++++ 17 files changed, 1250 insertions(+) create mode 100644 .abapgit.xml create mode 100644 src/package.devc.xml create mode 100644 src/ycapgmedit.prog.abap create mode 100644 src/ycapgmedit.prog.xml create mode 100644 src/zcat0010.tabl.xml create mode 100644 src/zcat0020.tabl.xml create mode 100644 src/zcreatedomain_element.prog.abap create mode 100644 src/zcreatedomain_element.prog.xml create mode 100644 src/zcreatefunction.prog.abap create mode 100644 src/zcreatefunction.prog.xml create mode 100644 src/zcreatetable.prog.abap create mode 100644 src/zcreatetable.prog.xml create mode 100644 src/zd_appli_tr01.doma.xml create mode 100644 src/ze_appli_tr01.dtel.xml create mode 100644 src/ze_se_code_value.dtel.xml create mode 100644 src/zqtxt_code.dtel.xml create mode 100644 src/zrfks0.tabl.xml diff --git a/.abapgit.xml b/.abapgit.xml new file mode 100644 index 0000000..7c0506a --- /dev/null +++ b/.abapgit.xml @@ -0,0 +1,10 @@ + + + + + E + /src/ + PREFIX + + + diff --git a/src/package.devc.xml b/src/package.devc.xml new file mode 100644 index 0000000..6bc1053 --- /dev/null +++ b/src/package.devc.xml @@ -0,0 +1,10 @@ + + + + + + 관리회계 개발 패키지 + + + + diff --git a/src/ycapgmedit.prog.abap b/src/ycapgmedit.prog.abap new file mode 100644 index 0000000..beaa11a --- /dev/null +++ b/src/ycapgmedit.prog.abap @@ -0,0 +1,29 @@ +*&---------------------------------------------------------------------* +*& Report YCAPGMEDIT +*&---------------------------------------------------------------------* +*& +*&---------------------------------------------------------------------* +REPORT YCAPGMEDIT. + +TABLES : TRDIR. + +DATA : BEGIN OF ITAB OCCURS 0, + LINE(200), + END OF ITAB. + +*&------------------------------------------- +PARAMETERS PROGRAM LIKE TRDIR-NAME OBLIGATORY. + +*&------------------------------------------- +START-OF-SELECTION. + IF PROGRAM(1) NE 'Z' AND + PROGRAM(1) NE 'Y' AND + PROGRAM(2) NE 'LZ'. + MESSAGE S085(/BDL/BDL3) WITH 'CBO Porgram' DISPLAY LIKE 'E'. + LEAVE LIST-PROCESSING. + ENDIF. + +*&------------------------------------------- + READ REPORT PROGRAM INTO ITAB. + EDITOR-CALL FOR ITAB. + INSERT REPORT PROGRAM FROM ITAB. diff --git a/src/ycapgmedit.prog.xml b/src/ycapgmedit.prog.xml new file mode 100644 index 0000000..14ba4e3 --- /dev/null +++ b/src/ycapgmedit.prog.xml @@ -0,0 +1,21 @@ + + + + + + YCAPGMEDIT + 1 + E + X + X + + + + R + EDITOR 프로그램 + 11 + + + + + diff --git a/src/zcat0010.tabl.xml b/src/zcat0010.tabl.xml new file mode 100644 index 0000000..5addc17 --- /dev/null +++ b/src/zcat0010.tabl.xml @@ -0,0 +1,309 @@ + + + + + + ZCAT0010 + E + TRANSP + X + X + [CA] Common Code Header + X + A + 1 + + + ZCAT0010 + A + 0 + APPL0 + X + N + + + + MANDT + X + MANDT + 0 + X + E + + + APPLI + X + ZE_APPLI_TR01 + 0 + X + X + F + E + + + GRP + X + 0 + C + 000020 + X + CHAR + 000010 + CHAR + Code Group + + + SPRAS + X + 0 + C + 000002 + X + LANG + 000001 + LANG + Language Key + X + + + GRP_TXT + 0 + C + 000080 + CHAR + 000040 + CHAR + Short Text for Code Group + + + HDR_01 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 01 + + + LEN_01 + 0 + P + 000002 + DEC + 000002 + DEC + Length 01 + + + HDR_02 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 02 + + + LEN_02 + 0 + P + 000002 + DEC + 000002 + DEC + Length 02 + + + HDR_03 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 03 + + + LEN_03 + 0 + P + 000002 + DEC + 000002 + DEC + Length 03 + + + HDR_04 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 04 + + + LEN_04 + 0 + P + 000002 + DEC + 000002 + DEC + Length 04 + + + HDR_05 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 05 + + + LEN_05 + 0 + P + 000002 + DEC + 000002 + DEC + Length 05 + + + HDR_06 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 06 + + + LEN_06 + 0 + P + 000002 + DEC + 000002 + DEC + Length 06 + + + HDR_07 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 07 + + + LEN_07 + 0 + P + 000002 + DEC + 000002 + DEC + Length 07 + + + HDR_08 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 08 + + + LEN_08 + 0 + P + 000002 + DEC + 000002 + DEC + Length 08 + + + HDR_09 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 09 + + + LEN_09 + 0 + P + 000002 + DEC + 000002 + DEC + Length 09 + + + HDR_10 + 0 + C + 000040 + CHAR + 000020 + CHAR + Header Line 10 + + + LEN_10 + 0 + P + 000002 + DEC + 000002 + DEC + Length 10 + + + FCNT + 0 + P + 000002 + DEC + 000002 + DEC + Header Count + + + REMK + 0 + C + 000200 + CHAR + 000100 + CHAR + Comment + + + .INCLUDE + 0 + ZRFKS0 + S + Dialog Fields for Screens from Function Group FKS0 + S + + + + + diff --git a/src/zcat0020.tabl.xml b/src/zcat0020.tabl.xml new file mode 100644 index 0000000..d1a6a75 --- /dev/null +++ b/src/zcat0020.tabl.xml @@ -0,0 +1,210 @@ + + + + + + ZCAT0020 + E + TRANSP + X + X + [CA] Common Code Item + X + A + 1 + + + ZCAT0020 + A + 0 + APPL0 + X + N + + + + MANDT + X + MANDT + 0 + X + E + + + APPLI + X + ZE_APPLI_TR01 + 0 + X + X + F + E + + + GRP + X + 0 + C + 000020 + X + CHAR + 000010 + CHAR + Code Group + + + SPRAS + X + SPRAS + 0 + X + D + E + X + + + CODE + X + ZE_SE_CODE_VALUE + 0 + X + E + + + CODE_TXT + ZQTXT_CODE + 0 + E + + + FLD_01 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 01 + + + FLD_02 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 02 + + + FLD_03 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 03 + + + FLD_04 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 04 + + + FLD_05 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 05 + + + FLD_06 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 06 + + + FLD_07 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 07 + + + FLD_08 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 08 + + + FLD_09 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 09 + + + FLD_10 + 0 + C + 000198 + CHAR + 000099 + CHAR + Field 10 + + + USEYN + 0 + C + 000002 + CHAR + 000001 + CHAR + indicator : YES/NO(Y/N) + + + SORTSEQ + 0 + N + 000008 + NUMC + 000004 + NUMC + Sort Order + + + .INCLUDE + 0 + ZRFKS0 + S + Dialog Fields for Screens from Function Group FKS0 + S + + + + + diff --git a/src/zcreatedomain_element.prog.abap b/src/zcreatedomain_element.prog.abap new file mode 100644 index 0000000..7adee70 --- /dev/null +++ b/src/zcreatedomain_element.prog.abap @@ -0,0 +1,148 @@ +*&---------------------------------------------------------------------* +*& Report ZCREATEDOMAIN_ELEMENT +*&---------------------------------------------------------------------* +*& +*&---------------------------------------------------------------------* +REPORT zcreatedomain_element. + +PARAMETERS : p_domain TYPE dom_ref DEFAULT 'ZTBLS', + p_elemnt TYPE rollname DEFAULT 'ZTBLS'. + + + +PERFORM create_domain. + +PERFORM create_element. + +*&---------------------------------------------------------------------* +*& Form create_domain +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM create_domain . + DATA: ls_domain TYPE dd01v, + lt_domain_values TYPE STANDARD TABLE OF dd07v, + ls_domain_value TYPE dd07v, + lt_return TYPE STANDARD TABLE OF bapiret2. + +* 도메인 속성 정의 + ls_domain-domname = p_domain. + ls_domain-ddlanguage = sy-langu. + ls_domain-datatype = 'CHAR'. + ls_domain-leng = 1. + ls_domain-ddtext = '테이블 유형'. + +* (필요시) 값 범위 설정 예시 + CLEAR ls_domain_value. + ls_domain_value-domname = p_domain. + ls_domain_value-valpos = '0001'. + ls_domain_value-ddlanguage = sy-langu. + ls_domain_value-domvalue_l = '1'. + ls_domain_value-ddtext = 'CBO 테이블 관리 테이블'. + APPEND ls_domain_value TO lt_domain_values. + +* 아래 형식으로 사용 가능 +* ls_domain_value = VALUE #( +* domname = p_domain +* valpos = '0001' +* ddlanguage = sy-langu +* domvalue_l = '1' +* ddtext = 'CBO 테이블 관리 테이블' +* ). +* APPEND ls_domain_value TO lt_domain_values. + + ls_domain_value-domname = p_domain. + ls_domain_value-valpos = '0002'. + ls_domain_value-ddlanguage = sy-langu. + ls_domain_value-domvalue_l = '2'. + ls_domain_value-ddtext = '배부 기준 정보(월별)'. + APPEND ls_domain_value TO lt_domain_values. + + ls_domain_value-domname = p_domain. + ls_domain_value-valpos = '0003'. + ls_domain_value-ddlanguage = sy-langu. + ls_domain_value-domvalue_l = '3'. + ls_domain_value-ddtext = '배부 대상 테이블'. + APPEND ls_domain_value TO lt_domain_values. + + ls_domain_value-domname = p_domain. + ls_domain_value-valpos = '0004'. + ls_domain_value-ddlanguage = sy-langu. + ls_domain_value-domvalue_l = '4'. + ls_domain_value-ddtext = '배부 기준 테이블'. + APPEND ls_domain_value TO lt_domain_values. + + ls_domain_value-domname = p_domain. + ls_domain_value-valpos = '0005'. + ls_domain_value-ddlanguage = sy-langu. + ls_domain_value-domvalue_l = '5'. + ls_domain_value-ddtext = '배부 결과 테이블'. + APPEND ls_domain_value TO lt_domain_values. + + ls_domain_value-domname = p_domain. + ls_domain_value-valpos = '0006'. + ls_domain_value-ddlanguage = sy-langu. + ls_domain_value-domvalue_l = '6'. + ls_domain_value-ddtext = '전표 발행 테이블'. + APPEND ls_domain_value TO lt_domain_values. + +* 도메인 생성 + CALL FUNCTION 'DDIF_DOMA_PUT' + EXPORTING + name = ls_domain-domname + dd01v_wa = ls_domain + TABLES + dd07v_tab = lt_domain_values. + +* 도메인 활성화 + CALL FUNCTION 'DDIF_DOMA_ACTIVATE' + EXPORTING + name = ls_domain-domname. +ENDFORM. +*&---------------------------------------------------------------------* +*& Form create_element +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM create_element . + DATA: ls_element TYPE dd04v, + lt_return TYPE TABLE OF bapiret2. + +* 1. 데이터 엘리먼트 속성 정의 + ls_element-rollname = p_elemnt. + ls_element-domname = p_domain. " 연결된 도메인 + ls_element-ddlanguage = sy-langu. + ls_element-ddtext = '유형'. + ls_element-headlen = 55. " 헤딩 길이 + ls_element-scrlen1 = 10. " 짧은 필드 레이블 + ls_element-scrlen2 = 20. " 중간 필드 레이블 + ls_element-scrlen3 = 40. " 긴 필드 레이블 + +* 2. 데이터 엘리먼트 생성/업데이트 + CALL FUNCTION 'DDIF_DTEL_PUT' + EXPORTING + name = ls_element-rollname + dd04v_wa = ls_element + EXCEPTIONS + element_not_found = 1 + illegal_action = 2 + OTHERS = 3. + +* 3. 활성화 + IF sy-subrc = 0. + CALL FUNCTION 'DDIF_DTEL_ACTIVATE' + EXPORTING + name = ls_element-rollname + EXCEPTIONS + not_found = 1 + put_failure = 2 + OTHERS = 3. + ENDIF. + +ENDFORM. diff --git a/src/zcreatedomain_element.prog.xml b/src/zcreatedomain_element.prog.xml new file mode 100644 index 0000000..667f5d4 --- /dev/null +++ b/src/zcreatedomain_element.prog.xml @@ -0,0 +1,21 @@ + + + + + + ZCREATEDOMAIN_ELEMENT + 1 + E + X + X + + + + R + 도메인과 데이타 엘리먼트 생성하기 + 18 + + + + + diff --git a/src/zcreatefunction.prog.abap b/src/zcreatefunction.prog.abap new file mode 100644 index 0000000..cf4b215 --- /dev/null +++ b/src/zcreatefunction.prog.abap @@ -0,0 +1,87 @@ +*&---------------------------------------------------------------------* +*& Report ZCREATEFUNCTION +*&---------------------------------------------------------------------* +*& +*&---------------------------------------------------------------------* +REPORT ZCREATEFUNCTION. + +TYPES: ty_rssource TYPE TABLE OF rssource. + +DATA: + lv_function_group TYPE rs38l-area VALUE 'ZTOPDOWN', + lv_function_name TYPE rs38l-name VALUE 'ZTOPDOWN_ENV', + lv_short_text TYPE tftit-stext VALUE '테이블명 반환 함수', + lt_source TYPE ty_rssource, + lt_export TYPE TABLE OF rsexp. + +START-OF-SELECTION. + PERFORM check_function_group. + PERFORM create_function_module. + +*&---------------------------------------------------------------------* +*& Form CHECK_FUNCTION_GROUP +*&---------------------------------------------------------------------* +FORM check_function_group. + SELECT SINGLE area FROM tlibg INTO @DATA(lv_exists) + WHERE area = @lv_function_group. + IF sy-subrc <> 0. + WRITE: / '함수 그룹이 존재하지 않습니다. SE80에서 생성하세요:', lv_function_group. + STOP. + ENDIF. +ENDFORM. + +*&---------------------------------------------------------------------* +*& Form CREATE_FUNCTION_MODULE +*&---------------------------------------------------------------------* +FORM create_function_module. + DATA: + ls_export TYPE rsexp, " RSEXP 구조체 사용 + lv_include TYPE rs38l-include. + + " Export 파라미터 정의 (정확한 RSEXP 구조체 필드만 사용) + CLEAR ls_export. + ls_export-parameter = 'TB_NAME'. " 파라미터명 + ls_export-typ = 'TABNAME'. " DB 필드명 (필수) + + " OPTIONAL/DEFAULT 필드 제거 (RSEXP 구조체에 없음) + APPEND ls_export TO lt_export. + + " 소스 코드 생성 + PERFORM generate_source CHANGING lt_source. + + " 함수 모듈 생성 + CALL FUNCTION 'RS_FUNCTIONMODULE_INSERT' + EXPORTING + funcname = lv_function_name + function_pool = lv_function_group + short_text = lv_short_text + TABLES + export_parameter = lt_export + source = lt_source + EXCEPTIONS + function_already_exists = 1 + OTHERS = 2. + + IF sy-subrc = 0. + COMMIT WORK. + WRITE: / '함수 모듈 생성 성공:', lv_function_name. + ELSE. + WRITE: / '오류 발생:', sy-subrc. + ENDIF. +ENDFORM. + + +*&---------------------------------------------------------------------* +*& Form GENERATE_SOURCE +*&---------------------------------------------------------------------* +FORM generate_source CHANGING ct_source TYPE ty_rssource. + DATA: ls_source TYPE rssource. + + CLEAR ct_source. +* ls_source-line = 'FUNCTION ztopdown_env.'. +* APPEND ls_source TO ct_source. + ls_source-line = ' tb_name = ''ZCOT1000''.'. + APPEND ls_source TO ct_source. +* ls_source-line = 'ENDFUNCTION.'. +* APPEND ls_source TO ct_source. +ENDFORM. diff --git a/src/zcreatefunction.prog.xml b/src/zcreatefunction.prog.xml new file mode 100644 index 0000000..188ca85 --- /dev/null +++ b/src/zcreatefunction.prog.xml @@ -0,0 +1,21 @@ + + + + + + ZCREATEFUNCTION + 1 + E + X + X + + + + R + Function 생성하기 + 13 + + + + + diff --git a/src/zcreatetable.prog.abap b/src/zcreatetable.prog.abap new file mode 100644 index 0000000..81b4e97 --- /dev/null +++ b/src/zcreatetable.prog.abap @@ -0,0 +1,198 @@ +*&---------------------------------------------------------------------* +*& Report ZCREATETABLE +*&---------------------------------------------------------------------* +*& dd02v-tabclass 값으로 테이블과 구조체등 변경 가능 +*&---------------------------------------------------------------------* +REPORT zcreatetable. + +" 데이터 선언 +*DATA: lv_tabname TYPE tabname VALUE 'ZTESTEMPLOYEE', +DATA: lv_tabname TYPE tabname VALUE 'ZTY_EMPLOYEE', + lt_dd02v TYPE TABLE OF dd02v, + ls_dd02v TYPE dd02v, + lt_dd03p TYPE TABLE OF dd03p, + ls_dd03p TYPE dd03p, + lv_rc TYPE sy-subrc. + +" 테이블 헤더 정보 설정 +ls_dd02v-tabname = lv_tabname. +ls_dd02v-ddlanguage = sy-langu. +*ls_dd02v-tabclass = 'TRANSP'. " 투명 테이블 +ls_dd02v-tabclass = 'INTTAB'. " 구조 +ls_dd02v-clidep = 'X'. " 클라이언트 종속 +ls_dd02v-ddtext = '직원 테스트 테이블'. +ls_dd02v-contflag = 'A'. " 활성 +ls_dd02v-mainflag = 'X'. " 메인 테이블 +APPEND ls_dd02v TO lt_dd02v. + +* 아래 형식으로 사용해도 됨. 신 문법 +* ls_dd02v = VALUE #( +* tabname = lv_tabname +* ddlanguage = sy-langu +* tabclass = 'TRANSP' " 투명 테이블 +* clidep = 'X' " 클라이언트 종속 +* ddtext = '직원 테스트 테이블' +* contflag = 'A' " 활성 +* mainflag = 'X' " 메인 테이블 +* ). +* APPEND ls_dd02v TO lt_dd02v. + +" 테이블 필드 정보 설정 +CLEAR ls_dd03p. + +" 1. 클라이언트 필드 +ls_dd03p = VALUE #( + tabname = lv_tabname + fieldname = 'MANDT' + keyflag = 'X' + notnull = 'X' + rollname = 'MANDT' + ddlanguage = sy-langu + position = '0001' + ddtext = '클라이언트' +). +APPEND ls_dd03p TO lt_dd03p. + +" 2. 직원 번호 필드 +CLEAR ls_dd03p. +ls_dd03p-tabname = lv_tabname. +ls_dd03p-fieldname = 'EMPNO'. +ls_dd03p-keyflag = 'X'. +ls_dd03p-mandatory = 'X'. +ls_dd03p-datatype = 'NUMC'. +ls_dd03p-leng = 8. +ls_dd03p-ddlanguage = sy-langu. +ls_dd03p-position = '0002'. +ls_dd03p-ddtext = '직원번호'. +APPEND ls_dd03p TO lt_dd03p. + +" 3. 직원 이름 필드 +CLEAR ls_dd03p. +ls_dd03p-tabname = lv_tabname. +ls_dd03p-fieldname = 'EMPNAME'. +ls_dd03p-datatype = 'CHAR'. +ls_dd03p-leng = 50. +ls_dd03p-ddlanguage = sy-langu. +ls_dd03p-position = '0003'. +ls_dd03p-ddtext = '직원이름'. +APPEND ls_dd03p TO lt_dd03p. + +" 4. 부서 코드 필드 +CLEAR ls_dd03p. +ls_dd03p-tabname = lv_tabname. +ls_dd03p-fieldname = 'DEPTCODE'. +ls_dd03p-datatype = 'CHAR'. +ls_dd03p-leng = 10. +ls_dd03p-ddlanguage = sy-langu. +ls_dd03p-position = '0004'. +ls_dd03p-ddtext = '부서코드'. +APPEND ls_dd03p TO lt_dd03p. + +" 5. 급여 필드 +*CLEAR ls_dd03p. +*ls_dd03p-tabname = lv_tabname. +*ls_dd03p-fieldname = 'SALARY'. +*ls_dd03p-datatype = 'CURR'. +*ls_dd03p-leng = 15. +*ls_dd03p-decimals = 2. +*ls_dd03p-ddlanguage = sy-langu. +*ls_dd03p-position = '0005'. +*ls_dd03p-ddtext = '급여'. +*APPEND ls_dd03p TO lt_dd03p. + +" 6. 입사일 필드 +CLEAR ls_dd03p. +ls_dd03p-tabname = lv_tabname. +ls_dd03p-fieldname = 'HIREDATE'. +ls_dd03p-datatype = 'DATS'. +ls_dd03p-leng = 8. +ls_dd03p-ddlanguage = sy-langu. +ls_dd03p-position = '0006'. +ls_dd03p-ddtext = '입사일'. +APPEND ls_dd03p TO lt_dd03p. + +" DDIC 함수를 사용하여 테이블 생성 +CALL FUNCTION 'DDIF_TABL_PUT' + EXPORTING + name = lv_tabname + dd02v_wa = ls_dd02v + TABLES + dd03p_tab = lt_dd03p + EXCEPTIONS + tabl_not_found = 1 + name_inconsistent = 2 + tabl_inconsistent = 3 + put_failure = 4 + put_refused = 5 + OTHERS = 6. + +IF sy-subrc <> 0. + WRITE: / '테이블 생성 실패:', sy-subrc. + MESSAGE e001(00) WITH '테이블 생성 중 오류가 발생했습니다'. +ELSE. + WRITE: / '테이블', lv_tabname, '이 성공적으로 생성되었습니다.'. +ENDIF. + +" 테이블 활성화 +DATA: lv_as4local TYPE dd02l-as4local. + +" DDIF_TABL_ACTIVATE 함수 사용하여 테이블 활성화 +CALL FUNCTION 'DDIF_TABL_ACTIVATE' + EXPORTING + name = lv_tabname + auth_chk = 'X' + EXCEPTIONS + not_found = 1 + put_failure = 2 + OTHERS = 3. + +IF sy-subrc = 0. + WRITE: / '테이블 활성화 성공.'. + + " 활성화 상태 확인 (DD02L 테이블에서 AS4LOCAL 필드 확인) + SELECT SINGLE as4local FROM dd02l + INTO lv_as4local + WHERE tabname = lv_tabname. + + IF lv_as4local = 'A'. + WRITE: / '테이블이 활성 상태로 확인되었습니다.'. + ELSE. + WRITE: / '테이블 상태:', lv_as4local, '(A=활성, M=유지보수, N=신규)'. + ENDIF. +ELSE. + WRITE: / '테이블 활성화 실패. SY-SUBRC:', sy-subrc. + CASE sy-subrc. + WHEN 1. + WRITE: / '오류: 테이블을 찾을 수 없습니다.'. + WHEN 2. + WRITE: / '오류: 활성화 처리 실패.'. + WHEN OTHERS. + WRITE: / '오류: 기타 오류가 발생했습니다.'. + ENDCASE. +ENDIF. + +" 생성된 테이블 정보 확인 +CALL FUNCTION 'DDIF_TABL_GET' + EXPORTING + name = lv_tabname + langu = sy-langu + IMPORTING + dd02v_wa = ls_dd02v + TABLES + dd03p_tab = lt_dd03p + EXCEPTIONS + illegal_input = 1 + OTHERS = 2. + +IF sy-subrc = 0. + WRITE: / '=== 생성된 테이블 정보 ==='. + WRITE: / '테이블명:', ls_dd02v-tabname. + WRITE: / '설명:', ls_dd02v-ddtext. + WRITE: / '테이블 클래스:', ls_dd02v-tabclass. + + WRITE: / '=== 필드 정보 ==='. + LOOP AT lt_dd03p INTO ls_dd03p. + WRITE: / ls_dd03p-fieldname, ls_dd03p-datatype, + ls_dd03p-leng, ls_dd03p-ddtext. + ENDLOOP. +ENDIF. diff --git a/src/zcreatetable.prog.xml b/src/zcreatetable.prog.xml new file mode 100644 index 0000000..a7f9220 --- /dev/null +++ b/src/zcreatetable.prog.xml @@ -0,0 +1,21 @@ + + + + + + ZCREATETABLE + 1 + E + X + X + + + + R + DDIC 함수로 DB테이블 만들기 + 18 + + + + + diff --git a/src/zd_appli_tr01.doma.xml b/src/zd_appli_tr01.doma.xml new file mode 100644 index 0000000..5763b13 --- /dev/null +++ b/src/zd_appli_tr01.doma.xml @@ -0,0 +1,30 @@ + + + + + + ZD_APPLI_TR01 + E + CHAR + 000002 + 000002 + X + SAP applications + + + + 0001 + E + CO + Controlling + + + 0002 + E + TX + TAX + + + + + diff --git a/src/ze_appli_tr01.dtel.xml b/src/ze_appli_tr01.dtel.xml new file mode 100644 index 0000000..bbe304e --- /dev/null +++ b/src/ze_appli_tr01.dtel.xml @@ -0,0 +1,23 @@ + + + + + + ZE_APPLI_TR01 + E + ZD_APPLI_TR01 + 05 + 10 + 15 + 20 + Application area + AppAr + Applicat. + ApplicationArea + Application area + E + D + + + + diff --git a/src/ze_se_code_value.dtel.xml b/src/ze_se_code_value.dtel.xml new file mode 100644 index 0000000..7cca372 --- /dev/null +++ b/src/ze_se_code_value.dtel.xml @@ -0,0 +1,24 @@ + + + + + + ZE_SE_CODE_VALUE + E + 15 + 10 + 15 + 20 + Code value + Code value + Code value + Code value + Code value + E + CHAR + 000012 + 000012 + + + + diff --git a/src/zqtxt_code.dtel.xml b/src/zqtxt_code.dtel.xml new file mode 100644 index 0000000..24b9ac9 --- /dev/null +++ b/src/zqtxt_code.dtel.xml @@ -0,0 +1,24 @@ + + + + + + ZQTXT_CODE + E + 40 + 10 + 15 + 20 + Short Text for Code + Short Text for Code + Short Text + Short Text + Short Text for Code + E + CHAR + 000040 + 000040 + + + + diff --git a/src/zrfks0.tabl.xml b/src/zrfks0.tabl.xml new file mode 100644 index 0000000..fd62abe --- /dev/null +++ b/src/zrfks0.tabl.xml @@ -0,0 +1,64 @@ + + + + + + ZRFKS0 + E + INTTAB + Dialog Fields for Screens from Function Group FKS0 + 1 + + + + ERNAM + ERNAM + 0 + E + + + ERDAT + ERDAT + 0 + T + E + + + ERTIM + 0 + T + 000012 + TIMS + 000006 + TIMS + Time at which the object was created + T + + + AENAM + AENAM + 0 + E + + + AEDAT + AEDAT + 0 + T + E + + + AETIM + 0 + T + 000012 + TIMS + 000006 + TIMS + Time at Which the Object Was Last Changed + T + + + + +