Report source code could be found below:api
REPORT ztable. PARAMETERS: tabname TYPE char32 OBLIGATORY. DATA: lt_new_object TYPE comt_gox_def_header, lt_old_object LIKE lt_new_object, lv_dbtab1_name TYPE char32, ls_new_object LIKE LINE OF lt_new_object, ls_new_object_details TYPE LINE OF comt_gox_table_entry_fields, lt_returntab TYPE bapirettab, ls_return LIKE LINE OF lt_returntab. ls_new_object-object_type = 'TABLE'. ls_new_object-object_name = tabname. TRY. DATA(lv_guid) = cl_system_uuid=>if_system_uuid_static~create_uuid_c32( ). CATCH cx_uuid_error . ENDTRY. ls_new_object-key_guid = lv_guid. DATA(lv_parent_guid) = ls_new_object-key_guid. ls_new_object_details-fieldname = 'TABCLASS'. ls_new_object_details-fieldvalue = 'TRANSP'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'TABKAT'. ls_new_object_details-fieldvalue = '0'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'TABART'. ls_new_object_details-fieldvalue = 'APPL2'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'PUFFERUNG'. ls_new_object_details-fieldvalue = 'X'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'CONTFLAG'. ls_new_object_details-fieldvalue = 'S'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'MAINFLAG'. ls_new_object_details-fieldvalue = 'X'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'BUFFALLOW'. ls_new_object_details-fieldvalue = 'X'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'SCHFELDANZ'. ls_new_object_details-fieldvalue = '0'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. APPEND ls_new_object TO lt_new_object. CLEAR ls_new_object. ls_new_object-object_type = 'TABLE_FIELD'. TRY. lv_guid = cl_system_uuid=>if_system_uuid_static~create_uuid_c32( ). CATCH cx_uuid_error . ENDTRY. ls_new_object-key_guid = lv_guid. ls_new_object-parent_key = lv_parent_guid. lv_parent_guid = lv_guid. ls_new_object-object_name = 'CODE_VALUE'. ls_new_object_details-fieldname = 'POSITION'. ls_new_object_details-fieldvalue = '1'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'KEYFLAG'. ls_new_object_details-fieldvalue = 'X'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'NOTNULL'. ls_new_object_details-fieldvalue = 'X'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. ls_new_object_details-fieldname = 'ROLLNAME'. ls_new_object_details-fieldvalue = 'COMT_PRODUCT_ID'. APPEND ls_new_object_details TO ls_new_object-details. CLEAR ls_new_object_details. APPEND ls_new_object TO lt_new_object. CLEAR ls_new_object. REFRESH lt_returntab. CLEAR lv_parent_guid. lv_dbtab1_name = tabname. CALL FUNCTION 'GOX_GEN_TABLE_STD' EXPORTING iv_object_name = lv_dbtab1_name it_object_new = lt_new_object it_object_old = lt_old_object iv_devclass = '$TMP' IMPORTING et_bapireturn = lt_returntab. CHECK lt_returntab IS NOT INITIAL. DATA: lv_ddobjname TYPE ddobjname, ls_dd02v TYPE dd02v. lv_ddobjname = lv_dbtab1_name. CALL FUNCTION 'DDIF_TABL_GET' EXPORTING name = lv_ddobjname state = 'A' langu = sy-langu IMPORTING dd02v_wa = ls_dd02v EXCEPTIONS illegal_input = 1 OTHERS = 2. IF sy-subrc <> 0. RETURN. ENDIF. ls_dd02v-mainflag = 'X'. CALL FUNCTION 'DDIF_TABL_PUT' EXPORTING name = lv_ddobjname dd02v_wa = ls_dd02v EXCEPTIONS tabl_not_found = 1 name_inconsistent = 2 tabl_inconsistent = 3 put_failure = 4 put_refused = 5 OTHERS = 6. IF sy-subrc <> 0. RETURN. ENDIF. CALL FUNCTION 'DDIF_TABL_ACTIVATE' EXPORTING name = lv_ddobjname auth_chk = ' '. CHECK sy-subrc = 0. WRITE:/ 'Table: ', lv_ddobjname, ' generated successfully'.
specify the table name:ui
run the report and the table is generated successfully and could be found in SE11:spa
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":3d