<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: DYNAMIC DDIC TABLE in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103017#M736426</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Opps .. didn't include the entire report ..&lt;/P&gt;&lt;P&gt;[code]&lt;/P&gt;&lt;P&gt;REPORT Z_BLD_STRUC_BCUSER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF mySTRUC,&lt;/P&gt;&lt;P&gt;	COURSE_CODE(5) TYPE C,&lt;/P&gt;&lt;P&gt;	COURSE_MOD TYPE I ,&lt;/P&gt;&lt;P&gt;	QUES(100) TYPE C,&lt;/P&gt;&lt;P&gt;	C_ANS1(3) TYPE C,&lt;/P&gt;&lt;P&gt;	C_ANS2(12) TYPE C,&lt;/P&gt;&lt;P&gt;	C_ANS3(1) TYPE C,&lt;/P&gt;&lt;P&gt;	C_ANS4(1) TYPE C,&lt;/P&gt;&lt;P&gt;	W_ANS1(15) TYPE C,&lt;/P&gt;&lt;P&gt;	W_ANS2(7) TYPE C,&lt;/P&gt;&lt;P&gt;	W_ANS3(1) TYPE C,&lt;/P&gt;&lt;P&gt;	W_ANS4(1) TYPE C,&lt;/P&gt;&lt;P&gt;	ANS_WEIGHT TYPE F,&lt;/P&gt;&lt;P&gt;	PROMPT_WRONG(29) TYPE C,&lt;/P&gt;&lt;P&gt;	PROMPT_RIGHT(12) TYPE C,&lt;/P&gt;&lt;P&gt;END OF mySTRUC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;&amp;lt;theStruc&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;&amp;lt;theField&amp;gt; TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ROWDATA1 TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: DELIM1 TYPE CHAR1.&lt;/P&gt;&lt;P&gt;DATA: FIELD_NAMES1 TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: DATA_TYPE1 TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: COL_WIDTH1 TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: COLS1 TYPE INTEGER.&lt;/P&gt;&lt;P&gt;DATA: TABLINE TYPE myStruc.&lt;/P&gt;&lt;P&gt;DATA: F_DAT TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: F_NAME1 TYPE CHAR30.&lt;/P&gt;&lt;P&gt;DATA: F_TYPE TYPE CHAR2.&lt;/P&gt;&lt;P&gt;DATA: F_TYPE2 TYPE CHAR10.&lt;/P&gt;&lt;P&gt;DATA: F_WIDTH TYPE CHAR4.&lt;/P&gt;&lt;P&gt;DATA: TMP TYPE CHAR10.&lt;/P&gt;&lt;P&gt;DATA: TABNAME TYPE CHAR30.&lt;/P&gt;&lt;P&gt;DATA: TABDEF TYPE DD02V.&lt;/P&gt;&lt;P&gt;DATA: TABDEF2 TYPE DD09L.&lt;/P&gt;&lt;P&gt;DATA: TABFIELDS TYPE TABLE OF DD03P WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: CNTR TYPE INTEGER.&lt;/P&gt;&lt;P&gt;DATA: USER1 TYPE CHAR30.&lt;/P&gt;&lt;P&gt;DATA: ZDB14 TYPE STANDARD TABLE OF mySTRUC WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORT ROWDATA1 FROM MEMORY ID'BCUSERA'.&lt;/P&gt;&lt;P&gt;IMPORT DELIM1 FROM MEMORY ID'BCUSERB'.&lt;/P&gt;&lt;P&gt;IMPORT COLS1 FROM MEMORY ID'BCUSERC'.&lt;/P&gt;&lt;P&gt;IMPORT FIELD_NAMES1 FROM MEMORY ID'BCUSERD'.&lt;/P&gt;&lt;P&gt;IMPORT TABNAME FROM MEMORY ID'BCUSERE'.&lt;/P&gt;&lt;P&gt;IMPORT USER1 FROM MEMORY ID'BCUSERF'.&lt;/P&gt;&lt;P&gt;IMPORT DATA_TYPE1 FROM MEMORY ID'BCUSERG'.&lt;/P&gt;&lt;P&gt;IMPORT COL_WIDTH1 FROM MEMORY ID'BCUSERH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ASSIGN TABLINE TO &amp;lt;theStruc&amp;gt;.&lt;/P&gt;&lt;P&gt;TABDEF-TABNAME = TABNAME.&lt;/P&gt;&lt;P&gt;TABDEF2-TABNAME = TABNAME.&lt;/P&gt;&lt;P&gt;TABDEF-TABCLASS ='INTTAB'.&lt;/P&gt;&lt;P&gt;TABDEF-DDLANGUAGE = sy-langu.&lt;/P&gt;&lt;P&gt;TABDEF-LANGDEP = sy-langu.&lt;/P&gt;&lt;P&gt;TABDEF-DDTEXT ='DYNAMIC TABLE CREATED VIA RFC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHILE COLS1 &amp;gt; 0.&lt;/P&gt;&lt;P&gt;	CNTR = CNTR + 1.&lt;/P&gt;&lt;P&gt;	SPLIT ROWDATA1 AT DELIM1 INTO F_DAT ROWDATA1.&lt;/P&gt;&lt;P&gt;	SPLIT FIELD_NAMES1 AT DELIM1 INTO F_NAME1 FIELD_NAMES1.&lt;/P&gt;&lt;P&gt;	SPLIT DATA_TYPE1 AT DELIM1 INTO F_TYPE DATA_TYPE1.&lt;/P&gt;&lt;P&gt;	SPLIT COL_WIDTH1 AT DELIM1 INTO F_WIDTH COL_WIDTH1.&lt;/P&gt;&lt;P&gt;	ASSIGN COMPONENT F_NAME1 OF STRUCTURE &amp;lt;theStruc&amp;gt; to &amp;lt;theField&amp;gt;.&lt;/P&gt;&lt;P&gt;	&amp;lt;theField&amp;gt; = F_DAT.&lt;/P&gt;&lt;P&gt;	CASE F_TYPE.&lt;/P&gt;&lt;P&gt;		WHEN 'C'.&lt;/P&gt;&lt;P&gt;			CONCATENATE'CHAR'F_WIDTH into TMP.&lt;/P&gt;&lt;P&gt;			F_TYPE2 = TMP.&lt;/P&gt;&lt;P&gt;		WHEN'I'.&lt;/P&gt;&lt;P&gt;			F_TYPE2 ='INTEGER'.&lt;/P&gt;&lt;P&gt;		WHEN'D'.&lt;/P&gt;&lt;P&gt;			F_TYPE2 ='DATE'.&lt;/P&gt;&lt;P&gt;		WHEN'T'.&lt;/P&gt;&lt;P&gt;			F_TYPE2 ='TIME'.&lt;/P&gt;&lt;P&gt;		WHEN'F'.&lt;/P&gt;&lt;P&gt;			F_TYPE2 ='FLOAT'.&lt;/P&gt;&lt;P&gt;	ENDCASE.&lt;/P&gt;&lt;P&gt;	CLEAR TABFIELDS.&lt;/P&gt;&lt;P&gt;	TABFIELDS-TABNAME = TABNAME.&lt;/P&gt;&lt;P&gt;	TABFIELDS-FIELDNAME = F_NAME1.&lt;/P&gt;&lt;P&gt;	TABFIELDS-ROLLNAME = F_TYPE2.&lt;/P&gt;&lt;P&gt;	TABFIELDS-POSITION = CNTR.&lt;/P&gt;&lt;P&gt;	TABFIELDS-DATATYPE = F_TYPE.&lt;/P&gt;&lt;P&gt;	TABFIELDS-LENG = F_WIDTH.&lt;/P&gt;&lt;P&gt;	APPEND TABFIELDS.&lt;/P&gt;&lt;P&gt;	COLS1 = COLS1 - 1.&lt;/P&gt;&lt;P&gt;ENDWHILE.&lt;/P&gt;&lt;P&gt;APPEND TABLINE TO ZDB14 .&lt;/P&gt;&lt;P&gt;COMMIT WORK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'DDIF_TABL_PUT'&lt;/P&gt;&lt;P&gt;	EXPORTING NAME = 'ZDB14'&lt;/P&gt;&lt;P&gt;	DD02V_WA = TABDEF&lt;/P&gt;&lt;P&gt;	TABLES DD03P_TAB = TABFIELDS&lt;/P&gt;&lt;P&gt;	EXCEPTIONS&lt;/P&gt;&lt;P&gt;	TABL_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;	NAME_INCONSISTENT = 2&lt;/P&gt;&lt;P&gt;	TABL_INCONSISTENT = 3&lt;/P&gt;&lt;P&gt;	PUT_FAILURE = 4&lt;/P&gt;&lt;P&gt;	PUT_REFUSED = 5&lt;/P&gt;&lt;P&gt;	OTHERS = 6.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;	MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;	WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;	COMMIT WORK.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'DDIF_TABL_ACTIVATE'&lt;/P&gt;&lt;P&gt;	EXPORTING NAME = 'ZDB14'&lt;/P&gt;&lt;P&gt;	EXCEPTIONS&lt;/P&gt;&lt;P&gt;	NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;	PUT_FAILURE = 2&lt;/P&gt;&lt;P&gt;	OTHERS = 3.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;	COMMIT WORK.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'TR_TADIR_INTERFACE'&lt;/P&gt;&lt;P&gt;	EXPORTING WI_TADIR_OBJ_NAME = 'ZDB14'&lt;/P&gt;&lt;P&gt;	WI_TADIR_OBJECT ='TABL'&lt;/P&gt;&lt;P&gt;	WI_TADIR_PGMID ='R3TR'&lt;/P&gt;&lt;P&gt;	WI_TADIR_AUTHOR ='BCUSER'&lt;/P&gt;&lt;P&gt;	WI_TADIR_DEVCLASS ='$TMP'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;	COMMIT WORK.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 16 Nov 2007 16:42:30 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-16T16:42:30Z</dc:date>
    <item>
      <title>DYNAMIC DDIC TABLE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103016#M736425</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good Day Folks .. I know one of you has the answer.&lt;/P&gt;&lt;P&gt;I'm a newbie so any constructive comments on my methods would be appreciatted. My firm is beginning the transition to SAP. I've been tasked with the creation of a method to create tables dynamically, utilizing common tools eg. Excel. I've written an RFC which generates and runs the following report. My issue is that even though the code appears to function, the entry in DDIC appears to be an active structure, not a table. Now I realize I could furthur code to build one, but I believe this code should and that I've failed to pass the proper parameters to the FM's called by this report. Unfortunately documentation is a bit scant for this newbie and my German is quite weak ... &lt;SPAN __jive_emoticon_name="wink"&gt;&lt;/SPAN&gt;  THOUGHT's ??? THANKS !!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT Z_BLD_STRUC_BCUSER.

TYPES: BEGIN OF mySTRUC,
	COURSE_CODE(5) TYPE C,
	COURSE_MOD TYPE I ,
	QUES(100) TYPE C,
	C_ANS1(3) TYPE C,
	C_ANS2(12) TYPE C,
	C_ANS3(1) TYPE C,
	C_ANS4(1) TYPE C,
	W_ANS1(15) TYPE C,
	W_ANS2(7) TYPE C,
	W_ANS3(1) TYPE C,
	W_ANS4(1) TYPE C,
	ANS_WEIGHT TYPE F,
	PROMPT_WRONG(29) TYPE C,
	PROMPT_RIGHT(12) TYPE C,
END OF mySTRUC.

FIELD-SYMBOLS:
&amp;lt;theStruc&amp;gt; TYPE ANY,
&amp;lt;theField&amp;gt; TYPE ANY.

DATA: ROWDATA1 TYPE CHAR1024.
DATA: DELIM1 TYPE CHAR1.
DATA: FIELD_NAMES1 TYPE CHAR1024.
DATA: DATA_TYPE1 TYPE CHAR1024.
DATA: COL_WIDTH1 TYPE CHAR1024.
DATA: COLS1 TYPE INTEGER.
DATA: TABLINE TYPE myStruc.
DATA: F_DAT TYPE CHAR1024.
DATA: F_NAME1 TYPE CHAR30.
DATA: F_TYPE TYPE CHAR2.
DATA: F_TYPE2 TYPE CHAR10.
DATA: F_WIDTH TYPE CHAR4.
DATA: TMP TYPE CHAR10.
DATA: TABNAME TYPE CHAR30.
DATA: TABDEF TYPE DD02V.
DATA: TABDEF2 TYPE DD09L.
DATA: TABFIELDS TYPE TABLE OF DD03P WITH HEADER LINE.
DATA: CNTR TYPE INTEGER.
DATA: USER1 TYPE CHAR30.
DATA: ZDB14 TYPE STANDARD TABLE OF mySTRUC WITH HEADER LINE.

IMPORT ROWDATA1 FROM MEMORY ID'BCUSERA'.
IMPORT DELIM1 FROM MEMORY ID'BCUSERB'.
IMPORT COLS1 FROM MEMORY ID'BCUSERC'.
IMPORT FIELD_NAMES1 FROM MEMORY ID'BCUSERD'.
IMPORT TABNAME FROM MEMORY ID'BCUSERE'.
IMPORT USER1 FROM MEMORY ID'BCUSERF'.
IMPORT DATA_TYPE1 FROM MEMORY ID'BCUSERG'.
IMPORT COL_WIDTH1 FROM MEMORY ID'BCUSERH'.

ASSIGN TABLINE TO &amp;lt;theStruc&amp;gt;.
TABDEF-TABNAME = TABNAME.
TABDEF2-TABNAME = TABNAME.
TABDEF-TABCLASS ='INTTAB'.
TABDEF-DDLANGUAGE = sy-langu.
TABDEF-LANGDEP = sy-langu.
TABDEF-DDTEXT ='DYNAMIC TABLE CREATED VIA RFC'.

WHILE COLS1 &amp;gt; 0.
	CNTR = CNTR + 1.
	SPLIT ROWDATA1 AT DELIM1 INTO F_DAT ROWDATA1.
	SPLIT FIELD_NAMES1 AT DELIM1 INTO F_NAME1 FIELD_NAMES1.
	SPLIT DATA_TYPE1 AT DELIM1 INTO F_TYPE DATA_TYPE1.
	SPLIT COL_WIDTH1 AT DELIM1 INTO F_WIDTH COL_WIDTH1.
	ASSIGN COMPONENT F_NAME1 OF STRUCTURE &amp;lt;theStruc&amp;gt; to &amp;lt;theField&amp;gt;.
	&amp;lt;theField&amp;gt; = F_DAT.
	CASE F_TYPE.
		WHEN 'C'.
			CONCATENATE'CHAR'F_WIDTH into TMP.
			F_TYPE2 = TMP.
		WHEN'I'.
			F_TYPE2 ='INTEGER'.
		WHEN'D'.
			F_TYPE2 ='DATE'.
		WHEN'T'.
			F_TYPE2 ='TIME'.
		WHEN'F'.
			F_TYPE2 ='FLOAT'.
	ENDCASE.
	CLEAR TABFIELDS.
	TABFIELDS-TABNAME = TABNAME.
	TABFIELDS-FIELDNAME = F_NAME1.
	TABFIELDS-ROLLNAME = F_TYPE2.
	TABFIELDS-POSITION = CNTR.
	TABFIELDS-DATATYPE = F_TYPE.
	TABFIELDS-LENG = F_WIDTH.
	APPEND TABFIELDS.
	COLS1 = COLS1 - 1.
ENDWHILE.
APPEND TABLINE TO ZDB14 .
COMMIT WORK.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2007 16:36:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103016#M736425</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-16T16:36:34Z</dc:date>
    </item>
    <item>
      <title>Re: DYNAMIC DDIC TABLE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103017#M736426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Opps .. didn't include the entire report ..&lt;/P&gt;&lt;P&gt;[code]&lt;/P&gt;&lt;P&gt;REPORT Z_BLD_STRUC_BCUSER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF mySTRUC,&lt;/P&gt;&lt;P&gt;	COURSE_CODE(5) TYPE C,&lt;/P&gt;&lt;P&gt;	COURSE_MOD TYPE I ,&lt;/P&gt;&lt;P&gt;	QUES(100) TYPE C,&lt;/P&gt;&lt;P&gt;	C_ANS1(3) TYPE C,&lt;/P&gt;&lt;P&gt;	C_ANS2(12) TYPE C,&lt;/P&gt;&lt;P&gt;	C_ANS3(1) TYPE C,&lt;/P&gt;&lt;P&gt;	C_ANS4(1) TYPE C,&lt;/P&gt;&lt;P&gt;	W_ANS1(15) TYPE C,&lt;/P&gt;&lt;P&gt;	W_ANS2(7) TYPE C,&lt;/P&gt;&lt;P&gt;	W_ANS3(1) TYPE C,&lt;/P&gt;&lt;P&gt;	W_ANS4(1) TYPE C,&lt;/P&gt;&lt;P&gt;	ANS_WEIGHT TYPE F,&lt;/P&gt;&lt;P&gt;	PROMPT_WRONG(29) TYPE C,&lt;/P&gt;&lt;P&gt;	PROMPT_RIGHT(12) TYPE C,&lt;/P&gt;&lt;P&gt;END OF mySTRUC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;&amp;lt;theStruc&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;&amp;lt;theField&amp;gt; TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ROWDATA1 TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: DELIM1 TYPE CHAR1.&lt;/P&gt;&lt;P&gt;DATA: FIELD_NAMES1 TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: DATA_TYPE1 TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: COL_WIDTH1 TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: COLS1 TYPE INTEGER.&lt;/P&gt;&lt;P&gt;DATA: TABLINE TYPE myStruc.&lt;/P&gt;&lt;P&gt;DATA: F_DAT TYPE CHAR1024.&lt;/P&gt;&lt;P&gt;DATA: F_NAME1 TYPE CHAR30.&lt;/P&gt;&lt;P&gt;DATA: F_TYPE TYPE CHAR2.&lt;/P&gt;&lt;P&gt;DATA: F_TYPE2 TYPE CHAR10.&lt;/P&gt;&lt;P&gt;DATA: F_WIDTH TYPE CHAR4.&lt;/P&gt;&lt;P&gt;DATA: TMP TYPE CHAR10.&lt;/P&gt;&lt;P&gt;DATA: TABNAME TYPE CHAR30.&lt;/P&gt;&lt;P&gt;DATA: TABDEF TYPE DD02V.&lt;/P&gt;&lt;P&gt;DATA: TABDEF2 TYPE DD09L.&lt;/P&gt;&lt;P&gt;DATA: TABFIELDS TYPE TABLE OF DD03P WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: CNTR TYPE INTEGER.&lt;/P&gt;&lt;P&gt;DATA: USER1 TYPE CHAR30.&lt;/P&gt;&lt;P&gt;DATA: ZDB14 TYPE STANDARD TABLE OF mySTRUC WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORT ROWDATA1 FROM MEMORY ID'BCUSERA'.&lt;/P&gt;&lt;P&gt;IMPORT DELIM1 FROM MEMORY ID'BCUSERB'.&lt;/P&gt;&lt;P&gt;IMPORT COLS1 FROM MEMORY ID'BCUSERC'.&lt;/P&gt;&lt;P&gt;IMPORT FIELD_NAMES1 FROM MEMORY ID'BCUSERD'.&lt;/P&gt;&lt;P&gt;IMPORT TABNAME FROM MEMORY ID'BCUSERE'.&lt;/P&gt;&lt;P&gt;IMPORT USER1 FROM MEMORY ID'BCUSERF'.&lt;/P&gt;&lt;P&gt;IMPORT DATA_TYPE1 FROM MEMORY ID'BCUSERG'.&lt;/P&gt;&lt;P&gt;IMPORT COL_WIDTH1 FROM MEMORY ID'BCUSERH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ASSIGN TABLINE TO &amp;lt;theStruc&amp;gt;.&lt;/P&gt;&lt;P&gt;TABDEF-TABNAME = TABNAME.&lt;/P&gt;&lt;P&gt;TABDEF2-TABNAME = TABNAME.&lt;/P&gt;&lt;P&gt;TABDEF-TABCLASS ='INTTAB'.&lt;/P&gt;&lt;P&gt;TABDEF-DDLANGUAGE = sy-langu.&lt;/P&gt;&lt;P&gt;TABDEF-LANGDEP = sy-langu.&lt;/P&gt;&lt;P&gt;TABDEF-DDTEXT ='DYNAMIC TABLE CREATED VIA RFC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHILE COLS1 &amp;gt; 0.&lt;/P&gt;&lt;P&gt;	CNTR = CNTR + 1.&lt;/P&gt;&lt;P&gt;	SPLIT ROWDATA1 AT DELIM1 INTO F_DAT ROWDATA1.&lt;/P&gt;&lt;P&gt;	SPLIT FIELD_NAMES1 AT DELIM1 INTO F_NAME1 FIELD_NAMES1.&lt;/P&gt;&lt;P&gt;	SPLIT DATA_TYPE1 AT DELIM1 INTO F_TYPE DATA_TYPE1.&lt;/P&gt;&lt;P&gt;	SPLIT COL_WIDTH1 AT DELIM1 INTO F_WIDTH COL_WIDTH1.&lt;/P&gt;&lt;P&gt;	ASSIGN COMPONENT F_NAME1 OF STRUCTURE &amp;lt;theStruc&amp;gt; to &amp;lt;theField&amp;gt;.&lt;/P&gt;&lt;P&gt;	&amp;lt;theField&amp;gt; = F_DAT.&lt;/P&gt;&lt;P&gt;	CASE F_TYPE.&lt;/P&gt;&lt;P&gt;		WHEN 'C'.&lt;/P&gt;&lt;P&gt;			CONCATENATE'CHAR'F_WIDTH into TMP.&lt;/P&gt;&lt;P&gt;			F_TYPE2 = TMP.&lt;/P&gt;&lt;P&gt;		WHEN'I'.&lt;/P&gt;&lt;P&gt;			F_TYPE2 ='INTEGER'.&lt;/P&gt;&lt;P&gt;		WHEN'D'.&lt;/P&gt;&lt;P&gt;			F_TYPE2 ='DATE'.&lt;/P&gt;&lt;P&gt;		WHEN'T'.&lt;/P&gt;&lt;P&gt;			F_TYPE2 ='TIME'.&lt;/P&gt;&lt;P&gt;		WHEN'F'.&lt;/P&gt;&lt;P&gt;			F_TYPE2 ='FLOAT'.&lt;/P&gt;&lt;P&gt;	ENDCASE.&lt;/P&gt;&lt;P&gt;	CLEAR TABFIELDS.&lt;/P&gt;&lt;P&gt;	TABFIELDS-TABNAME = TABNAME.&lt;/P&gt;&lt;P&gt;	TABFIELDS-FIELDNAME = F_NAME1.&lt;/P&gt;&lt;P&gt;	TABFIELDS-ROLLNAME = F_TYPE2.&lt;/P&gt;&lt;P&gt;	TABFIELDS-POSITION = CNTR.&lt;/P&gt;&lt;P&gt;	TABFIELDS-DATATYPE = F_TYPE.&lt;/P&gt;&lt;P&gt;	TABFIELDS-LENG = F_WIDTH.&lt;/P&gt;&lt;P&gt;	APPEND TABFIELDS.&lt;/P&gt;&lt;P&gt;	COLS1 = COLS1 - 1.&lt;/P&gt;&lt;P&gt;ENDWHILE.&lt;/P&gt;&lt;P&gt;APPEND TABLINE TO ZDB14 .&lt;/P&gt;&lt;P&gt;COMMIT WORK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'DDIF_TABL_PUT'&lt;/P&gt;&lt;P&gt;	EXPORTING NAME = 'ZDB14'&lt;/P&gt;&lt;P&gt;	DD02V_WA = TABDEF&lt;/P&gt;&lt;P&gt;	TABLES DD03P_TAB = TABFIELDS&lt;/P&gt;&lt;P&gt;	EXCEPTIONS&lt;/P&gt;&lt;P&gt;	TABL_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;	NAME_INCONSISTENT = 2&lt;/P&gt;&lt;P&gt;	TABL_INCONSISTENT = 3&lt;/P&gt;&lt;P&gt;	PUT_FAILURE = 4&lt;/P&gt;&lt;P&gt;	PUT_REFUSED = 5&lt;/P&gt;&lt;P&gt;	OTHERS = 6.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;	MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;	WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;	COMMIT WORK.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'DDIF_TABL_ACTIVATE'&lt;/P&gt;&lt;P&gt;	EXPORTING NAME = 'ZDB14'&lt;/P&gt;&lt;P&gt;	EXCEPTIONS&lt;/P&gt;&lt;P&gt;	NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;	PUT_FAILURE = 2&lt;/P&gt;&lt;P&gt;	OTHERS = 3.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;	COMMIT WORK.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'TR_TADIR_INTERFACE'&lt;/P&gt;&lt;P&gt;	EXPORTING WI_TADIR_OBJ_NAME = 'ZDB14'&lt;/P&gt;&lt;P&gt;	WI_TADIR_OBJECT ='TABL'&lt;/P&gt;&lt;P&gt;	WI_TADIR_PGMID ='R3TR'&lt;/P&gt;&lt;P&gt;	WI_TADIR_AUTHOR ='BCUSER'&lt;/P&gt;&lt;P&gt;	WI_TADIR_DEVCLASS ='$TMP'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;	COMMIT WORK.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2007 16:42:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103017#M736426</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-16T16:42:30Z</dc:date>
    </item>
    <item>
      <title>Re: DYNAMIC DDIC TABLE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103018#M736427</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello David&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I understand your task is to create Z-tables dynamically. If so there should be only a single line of coding that has to be changed:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;...
TABDEF2-TABNAME = TABNAME.
"  TABDEF-TABCLASS ='INTTAB'.  " structure
TABDEF-TABCLASS ='TRANSP'  " transparent table. 
...&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The different table types are defined as fixed values of domain &amp;lt;b&amp;gt;TABCLASS&amp;lt;/b&amp;gt;:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;TRANSP	Transparent table
INTTAB	Structure
CLUSTER	Cluster table
POOL	Pooled table
VIEW	General view structure
APPEND	Append structure&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2007 16:45:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103018#M736427</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-11-16T16:45:22Z</dc:date>
    </item>
    <item>
      <title>Re: DYNAMIC DDIC TABLE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103019#M736428</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your table class seems wrong...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;TABDEF-TABCLASS = 'TRANSP'.  " &amp;lt;&amp;lt; for trnspent table&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Naimesh Patel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2007 16:46:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103019#M736428</guid>
      <dc:creator>naimesh_patel</dc:creator>
      <dc:date>2007-11-16T16:46:36Z</dc:date>
    </item>
    <item>
      <title>Re: DYNAMIC DDIC TABLE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103020#M736429</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;THANKS FOLKS !!! ..&lt;/P&gt;&lt;P&gt;I'll burn THAT one into memory .... Sooooo MUCH to learn !!!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2007 17:07:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-ddic-table/m-p/3103020#M736429</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-16T17:07:41Z</dc:date>
    </item>
  </channel>
</rss>

