Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

table control

Former Member
0 Likes
579

Hi Experts,

Coud u please tell me about how to upload data into a table control .please ellaborate the details.

thanks in advance.

Kuldeep

5 REPLIES 5
Read only

Former Member
0 Likes
509

Hi,

Check the link for your problem,

For detail concept check

http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbac1d35c111d1829f0000e829fbfe/content.htm

Regards,

anirban

Read only

former_member195383
Active Contributor
0 Likes
509

Hi...create the table control on a internal vehicle...populate the internal table...inside the PBO or PAI as per your requirement.The table control witll reflect the data in the interbnal table only.....

Read only

Former Member
0 Likes
509

Hey kuldeep,

you can go ahead nd check these following threads ...

they might of some help to you.

Check these threads

hope it helps ...

Read only

Former Member
0 Likes
509

Hello,

Use the PBO module for that.

loop at itab into wa WITH CONTROL tc1.

endloop.

  • wa or itab should be used to add the fields in table control.

*wa-field or itab-field.

In PAI give.

loop at itab.

endloop.

Read only

Former Member
0 Likes
509

hi,

see this,.....

REPORT ZPP_REPORT_BOM NO STANDARD PAGE HEADING LINE-SIZE 255.

*&----


  • Structure Declaration

*&----


TYPES : BEGIN OF TY_SOURCE,

MATNR(18),

WERKS(4),

STLAN(1),

STLAL(2),

DATUV(10),

POSNR(4), " BOM item number

POSTP(1), " BOM Item category

IDNRK(18),

MENGE(13),

MEINS(3),

AVOAU(3), " Operation Scrap

NETAU, " Indicator: Net scrap

ALPGR(2),

ALPRF(2),

ALPST(1),

EWAHR(3),

LGORT(4), " Storage Location

BMENG(13),

STLST(2),

END OF TY_SOURCE,

BEGIN OF TY_HEADER ,

MATNR(18),

WERKS(4),

STLAN(1),

STLAL(2),

DATUV(10),

BMENG(13),

LOSVN(2),

LOSBS(2),

STLST(2),

END OF TY_HEADER,

BEGIN OF TY_ITEM ,

MATNR(18),

POSNR(4),

POSTP(1),

IDNRK(18),

MENGE(13),

MEINS(3),

AUSCH(5),

AVOAU(3),

NETAU,

ALPGR(2),

ALPRF(2),

ALPST(1),

EWAHR(3),

LGORT(4),

END OF TY_ITEM.

*&----


  • Internal Table Declaration

*&----


DATA : T_SOURCE TYPE STANDARD TABLE OF TY_SOURCE INITIAL SIZE 1,

T_HEADER TYPE STANDARD TABLE OF TY_HEADER INITIAL SIZE 1,

T_ITEM TYPE STANDARD TABLE OF TY_ITEM INITIAL SIZE 1,

T_TARGET TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 1.

DATA : W_SOURCE TYPE TY_SOURCE,

W_SOURCE1 TYPE TY_SOURCE,

W_HEADER TYPE TY_HEADER,

W_ITEM TYPE TY_ITEM,

W_TARGET TYPE BDCDATA,

COUNT TYPE I.

*&----


  • Variable Declaration

*&----


DATA: W_FNAME TYPE STRING,

FNAM(20),

I(2) TYPE N,

V_COUNT TYPE I,

V_GROUP TYPE APQI-GROUPID.

*&----


  • SELECTION SCREEN CRITERIA

*&----


SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETERS : P_PATH TYPE RLGRAP-FILENAME,

P_GROUP(15) DEFAULT 'BOM'.

SELECTION-SCREEN : END OF BLOCK B1.

*&----


  • AT SELECTION SCREEN

*&----


AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.

CALL FUNCTION 'WS_FILENAME_GET'

EXPORTING

  • DEF_FILENAME = 'C:\TEST.TXT'

DEF_PATH = 'C:\Documents and Settings\Naidu\Desktop\TEST-1.txt'

MASK = ',.,..'

MODE = 'O' "O --> Open S --> Save

TITLE = 'OPEN'

IMPORTING

FILENAME = P_PATH

  • RC =

EXCEPTIONS

INV_WINSYS = 1

NO_BATCH = 2

SELECTION_CANCEL = 3

SELECTION_ERROR = 4

OTHERS = 5.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*&----


  • START-OF-SELECTION

*&----


START-OF-SELECTION.

PERFORM SUB_UPLOAD.

PERFORM SUB_BDC_PROCESS.

PERFORM SUB_CLOSE.

WRITE:/ 'The session', V_GROUP ,'has been successfully created with',

V_COUNT.

WRITE:/ 'Please process the session in SM35'.

*&----


*& PERFORM SUB_UPLOAD

*&----


FORM SUB_UPLOAD.

W_FNAME = P_PATH.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = W_FNAME

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • NO_AUTH_CHECK = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = T_SOURCE

EXCEPTIONS

FILE_OPEN_ERROR = 1

FILE_READ_ERROR = 2

NO_BATCH = 3

GUI_REFUSE_FILETRANSFER = 4

INVALID_TYPE = 5

NO_AUTHORITY = 6

UNKNOWN_ERROR = 7

BAD_DATA_FORMAT = 8

HEADER_NOT_ALLOWED = 9

SEPARATOR_NOT_ALLOWED = 10

HEADER_TOO_LONG = 11

UNKNOWN_DP_ERROR = 12

ACCESS_DENIED = 13

DP_OUT_OF_MEMORY = 14

DISK_FULL = 15

DP_TIMEOUT = 16

OTHERS = 17

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT T_SOURCE INTO W_SOURCE.

W_SOURCE1 = W_SOURCE.

AT NEW MATNR.

W_HEADER-MATNR = W_SOURCE1-MATNR.

W_HEADER-WERKS = W_SOURCE1-WERKS.

W_HEADER-STLAN = W_SOURCE1-STLAN.

W_HEADER-DATUV = W_SOURCE1-DATUV.

W_HEADER-BMENG = W_SOURCE1-BMENG.

W_HEADER-STLAL = W_SOURCE1-STLAL.

W_HEADER-STLST = W_SOURCE1-STLST.

APPEND W_HEADER TO T_HEADER.

ENDAT.

W_ITEM-MATNR = W_SOURCE1-MATNR.

W_ITEM-IDNRK = W_SOURCE1-IDNRK.

W_ITEM-MENGE = W_SOURCE1-MENGE.

W_ITEM-MEINS = W_SOURCE1-MEINS.

W_ITEM-POSTP = W_SOURCE1-POSTP.

W_ITEM-POSNR = W_SOURCE1-POSNR.

W_ITEM-AVOAU = W_SOURCE1-AVOAU.

W_ITEM-LGORT = W_SOURCE1-LGORT.

W_ITEM-NETAU = W_SOURCE1-NETAU.

W_ITEM-ALPGR = W_SOURCE1-ALPGR.

W_ITEM-ALPRF = W_SOURCE1-ALPRF.

W_ITEM-ALPST = W_SOURCE1-ALPST.

W_ITEM-EWAHR = W_SOURCE1-EWAHR.

APPEND W_ITEM TO T_ITEM.

CLEAR :W_ITEM,W_HEADER.

ENDLOOP.

ENDFORM. "Sub_upload

*&----


*& PERFORM SUB_BDC_PROCESS

*&----


FORM SUB_BDC_PROCESS.

V_GROUP = P_GROUP.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = V_GROUP "'BOM'

  • HOLDDATE = FILLER8

KEEP = 'X'

USER = SY-UNAME

  • RECORD = FILLER1

  • PROG = SY-CPROG

  • IMPORTING

  • QID =

  • EXCEPTIONS

  • CLIENT_INVALID = 1

  • DESTINATION_INVALID = 2

  • GROUP_INVALID = 3

  • GROUP_IS_LOCKED = 4

  • HOLDDATE_INVALID = 5

  • INTERNAL_ERROR = 6

  • QUEUE_ERROR = 7

  • RUNNING = 8

  • SYSTEM_LOCK_ERROR = 9

  • USER_INVALID = 10

  • OTHERS = 11

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT T_HEADER INTO W_HEADER.

REFRESH T_TARGET.

perform bdc_dynpro using 'SAPLCSDI' '0100'.

perform bdc_field using 'BDC_CURSOR' 'RC29N-DATUV'.

perform bdc_field using 'BDC_OKCODE' '/00'.

perform bdc_field using 'RC29N-MATNR' W_HEADER-MATNR."'FZGN25051641'.

perform bdc_field using 'RC29N-WERKS' W_HEADER-WERKS."'2200'.

perform bdc_field using 'RC29N-STLAN' W_HEADER-STLAN."'1'.

PERFORM BDC_FIELD USING 'RC29N-STLAL' W_HEADER-STLAL.

perform bdc_field using 'RC29N-DATUV' W_HEADER-DATUV."'31122005'.

perform bdc_dynpro using 'SAPLCSDI' '0110'.

perform bdc_field using 'BDC_CURSOR' 'RC29K-BMENG'.

perform bdc_field using 'BDC_OKCODE' '/00'.

perform bdc_field using 'RC29K-BMENG' W_HEADER-BMENG."'1668'.

PERFORM BDC_FIELD USING 'RC29K-STLST' W_HEADER-STLST."'1'.

perform bdc_dynpro using 'SAPLCSDI' '0111'.

perform bdc_field using 'BDC_CURSOR' 'RC29K-LABOR'.

perform bdc_field using 'BDC_OKCODE' '/00'.

I = 1.

LOOP AT T_ITEM INTO W_ITEM WHERE MATNR = W_HEADER-MATNR.

COUNT = COUNT + 1.

IF COUNT GT 14.

CLEAR I.

I = 2.

  • BREAK KISHORES.

perform bdc_dynpro using 'SAPLCSDI' '0140'.

perform bdc_field using 'BDC_OKCODE' '=FCNP'.

ENDIF.

perform bdc_dynpro using 'SAPLCSDI' '0140'.

perform bdc_field using 'BDC_CURSOR' 'RC29P-SORTF(01)'.

perform bdc_field using 'BDC_OKCODE' '/00'.

CONCATENATE 'RC29P-IDNRK(' I ')' INTO FNAM.

perform bdc_field using FNAM W_ITEM-IDNRK.

CONCATENATE 'RC29P-MENGE(' I ')' INTO FNAM.

perform bdc_field using FNAM W_ITEM-MENGE.

CONCATENATE 'RC29P-MEINS(' I ')' INTO FNAM.

perform bdc_field using FNAM W_ITEM-MEINS.

CONCATENATE 'RC29P-POSTP(' I ')' INTO FNAM.

perform bdc_field using FNAM W_ITEM-POSTP.

CONCATENATE 'RC29P-POSNR(' I ')' INTO FNAM.

PERFORM BDC_FIELD USING FNAM W_ITEM-POSNR.

perform bdc_dynpro using 'SAPLCSDI' '0130'.

perform bdc_field using 'BDC_OKCODE' '/00'.

perform bdc_field using 'BDC_CURSOR' 'RC29P-ALPGR'.

PERFORM BDC_FIELD USING 'RC29P-NETAU' W_ITEM-NETAU.

PERFORM BDC_FIELD USING 'RC29P-AVOAU' W_ITEM-AVOAU.

perform bdc_field using 'RC29P-ALPGR' W_ITEM-ALPGR.

IF W_ITEM-ALPGR = ' '.

ELSE.

perform bdc_dynpro using 'SAPLCSDI' '0716'.

perform bdc_field using 'BDC_CURSOR' 'RC29P-EWAHR'.

perform bdc_field using 'BDC_OKCODE' '=CLWI'.

perform bdc_field using 'RC29P-ALPRF' W_ITEM-ALPRF.

perform bdc_field using 'RC29P-ALPST' W_ITEM-ALPST.

perform bdc_field using 'RC29P-EWAHR' W_ITEM-EWAHR.

ENDIF.

perform bdc_dynpro using 'SAPLCSDI' '0131'.

perform bdc_field using 'BDC_OKCODE' '/00'.

perform bdc_field using 'BDC_CURSOR' 'RC29P-POTX1'.

perform bdc_field using 'RC29P-SANKA' 'X'.

PERFORM BDC_FIELD USING 'RC29P-LGORT' W_ITEM-LGORT.

I = I + 1.

CLEAR W_ITEM.

ENDLOOP.

perform bdc_dynpro using 'SAPLCSDI' '0140'.

perform bdc_field using 'BDC_CURSOR' 'RC29P-POSNR(01)'.

perform bdc_field using 'BDC_OKCODE' '=FCBU'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'CS01'

  • POST_LOCAL = NOVBLOCAL

  • PRINTING = NOPRINT

  • SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

DYNPROTAB = T_TARGET

  • EXCEPTIONS

  • INTERNAL_ERROR = 1

  • NOT_OPEN = 2

  • QUEUE_ERROR = 3

  • TCODE_INVALID = 4

  • PRINTING_INVALID = 5

  • POSTING_INVALID = 6

  • OTHERS = 7

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ELSE.

V_COUNT = V_COUNT + 1.

ENDIF.

CLEAR : W_ITEM,W_HEADER.

ENDLOOP.

ENDFORM. "SUB_BDC_PROCESS

&----


*& Form SUB_CLOSE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM SUB_CLOSE .

CALL FUNCTION 'BDC_CLOSE_GROUP'

EXCEPTIONS

NOT_OPEN = 1

QUEUE_ERROR = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " SUB_CLOSE

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR W_TARGET.

W_TARGET-PROGRAM = PROGRAM.

W_TARGET-DYNPRO = DYNPRO.

W_TARGET-DYNBEGIN = 'X'.

APPEND W_TARGET TO T_TARGET.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> SPACE.

CLEAR W_TARGET.

W_TARGET-FNAM = FNAM.

W_TARGET-FVAL = FVAL.

APPEND W_TARGET TO T_TARGET.

ENDIF.

ENDFORM. "BDC_FIELD