Application Development 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: 

BDC RECORDING

Former Member
0 Kudos

hi folks

i am doing il01 bdc recording.in that i need to upload data from excel sheet.i used function module ALSM_EXCEL_TO_INTERNAL_TABLE.my problem is that i have table control fields.can anyone provide logic and as well as code for uploading data for header & table control fields from excel sheet using this FM.

thanks in advance.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

have a look at these link

If the hint is useful… Say thanks by reward….

Regards,

Prabhu Rajesh

4 REPLIES 4

Former Member
0 Kudos

Hi sanjana,

why don't you write logic and code. If there is any error we will correct it.

Regards,

Atish

Former Member
0 Kudos

Hi,

U can use the FM

CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'.

FM which u have used ALSM_EXCEL_TO_INTERNAL_TABLE will sometimes take much time. so its better to go for 'TEXT_CONVERT_XLS_TO_SAP'.

Declare internal table which has fields equivalent to number of columns in Excel file.

To handle Tbale control :

U need to use concatenate statement logic.. (just paste ur code so that it will be easy to provide the logic)

Revert back if any issues,

Reward with points if helpful,

Regards,

Naveen

Former Member
0 Kudos

Hi,

have a look at these link

If the hint is useful… Say thanks by reward….

Regards,

Prabhu Rajesh

Former Member
0 Kudos

thanks for replying.

iam giving code.please check and make changes.

report ZDBM_IL01

no standard page heading line-size 255.

&----


&*

*& TABLES DECLARATION &

&----


&*

TABLES: IFLOS,RILO0,ITOB,ADDR1_DATA,SZA1_D0100,IEQINSTALL, RLGRAP.

*include bdcrecx1.

*PARAMETER: P_FILE TYPE STRING.

&----


&*

*& INTERNAL TABLE DECLARATION &

&----


&*

DATA: BEGIN OF IT_ITAB OCCURS 0,

DUMMY(1000) TYPE C,

END OF IT_ITAB.

&----


&*

*& INTERNAL TABLE DECLARATION FOR HEADER FIELDS &

&----


&*

DATA: BEGIN OF IT_HEADER OCCURS 0,

  • SCREEN 1110

H(1) TYPE C,

STRNO TYPE IFLOS-STRNO, "FUNCTIONAL LOCATION (30)

TPLKZ TYPE RILO0-TPLKZ, "String indicator (5)

FLTYP TYPE IFLO-FLTYP, "FUNCTIONAL LOCATION CATEGORY (1)

  • SCREEN 2100

PLTXT TYPE IFLO-PLTXT, "Description of functional Location (40)

BEGRU TYPE ITOB-BEGRU, "Authorisation group (4)

BRGEW TYPE ITOB-BRGEW, "Weight (13)

GEWEI TYPE ITOB-GEWEI, "Weight unit (3)

GROES TYPE ITOB-GROES, "Size and dimension (18)

INBDT TYPE ITOB-INBDT, "Start of date (8)

EQART TYPE ITOB-EQART, "Define Object type(10)

ANSWT TYPE ITOB-ANSWT, "AcquistnValue(13)

WAERS TYPE ITOB-WAERS, "Currency key(5)

ANSDT TYPE ITOB-ANSDT, "Acquistion date(8)

HERST TYPE ITOB-HERST, "Manufacturer(30)

HERLD TYPE ITOB-HERLD, "Manufacturer country(3)

TYPBZ TYPE ITOB-TYPBZ, "Model number(20)

BAUJJ TYPE ITOB-BAUJJ, "Construction year(4)

BAUMM TYPE ITOB-BAUMM, "Construction month(2)

MAPAR TYPE ITOB-MAPAR, "Manufacturer PartNo(30)

SERGE TYPE ITOB-SERGE, "Manufacturer Serial Number(30)

SWERK TYPE ITOB-SWERK, "Maintenance Plant(4)

STORT TYPE ITOB-STORT, "Location(10)

MSGRP TYPE ITOB-MSGRP, "Room(8)

BEBER TYPE ITOB-BEBER, "Plant Section(3)

ARBPL TYPE ITOBATTR-ARBPL, "Work Center(8)

ABCKZ TYPE ITOB-ABCKZ, "ABC indicator(1)

EQFNR TYPE ITOB-EQFNR, "Sort field(30)

BUKRS TYPE ITOB-BUKRS, "Company Code(4)

KOSTL TYPE ITOB-KOSTL, "Cost center(10)

KOKRS TYPE ITOB-KOKRS, "Controlling area(4)

IWERK TYPE ITOB-IWERK, "Planning Plant(4)

INGRP TYPE ITOB-INGRP, "Planner Group(3)

GEWRK TYPE ITOBATTR-GEWRK, "Main Work Center(8)

WERGW TYPE ITOBATTR-WERGW, "Main Work Center Plant(4)

  • SCREEN 201

TITLE_MEDI TYPE SZA1_D0100-TITLE_MEDI, "company title

SORT1 TYPE ADDR1_DATA-SORT1, "Short tesxt-Search term(20)

POST_CODE1 TYPE ADDR1_DATA-POST_CODE1, "Pincode(10)

CITY1 TYPE ADDR1_DATA-CITY1, "City(40)

COUNTRY TYPE ADDR1_DATA-COUNTRY, "Country(3)

PO_BOX TYPE ADDR1_DATA-PO_BOX, "PO Box(10)

POST_CODE2 TYPE ADDR1_DATA-POST_CODE2, "Postal code(10)

LANGU TYPE ADDR1_DATA-LANGU, "language

TEL_NUMBER TYPE SZA1_D0100-TEL_NUMBER, "Telephone(30)

MOB_NUMBER TYPE SZA1_D0100-MOB_NUMBER, "Mobile phone(30)

FAX_NUMBER TYPE SZA1_D0100-FAX_NUMBER, "Fax(30)

SMTP_ADDR TYPE SZA1_D0100-SMTP_ADDR, "Email ID(241)

*SCREEN 101

HSTPS TYPE IEQINSTALL-HSTPS, "Equipment Position(4)

EQUNR TYPE IEQINSTALL-EQUNR, "Equipment (18)

END OF IT_HEADER.

&----


&*

*& INTERNAL TABLE DECLARATION FOR ITEM FIELDS &

&----


&*

DATA: BEGIN OF IT_ITEMS OCCURS 0,

TPLKZ TYPE RILO0-TPLKZ,

POSITIONS TYPE IEQINSTALL-HSTPS,

EQUIPMENT TYPE IEQINSTALL-EQUNR,

END OF IT_ITEMS.

data: JTAB like ALSMEX_TABLINE occurs 0 with header line.

parameters: FILE type RLGRAP-FILENAME.

at selection-screen on value-request for FILE.

call function 'F4_FILENAME'

exporting

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

importing

FILE_NAME = FILE.

start-of-selection.

perform UPLOAD_FILE_DATA.

perform TRANSERING_DATA.

LOOP AT IT_ITAB[] INTO IT_ITAB.

IF IT_ITAB-DUMMY+0(1) = '4'.

IT_HEADER-STRNO = IT_ITAB-DUMMY+1(30).

IT_HEADER-TPLKZ = IT_ITAB-DUMMY+31(5).

IT_HEADER-FLTYP = IT_ITAB-DUMMY+36(1).

IT_HEADER-PLTXT = IT_ITAB-DUMMY+37(48).

IT_HEADER-EQART = IT_ITAB-DUMMY+85(10).

IT_HEADER-BEGRU = IT_ITAB-DUMMY+95(4).

IT_HEADER-BRGEW = IT_ITAB-DUMMY+99(13).

IT_HEADER-GEWEI = IT_ITAB-DUMMY+112(3).

IT_HEADER-GROES = IT_ITAB-DUMMY+115(18).

IT_HEADER-INBDT = IT_ITAB-DUMMY+133(8).

IT_HEADER-ANSWT = IT_ITAB-DUMMY+141(13).

IT_HEADER-WAERS = IT_ITAB-DUMMY+154(5).

IT_HEADER-ANSDT = IT_ITAB-DUMMY+159(8).

IT_HEADER-HERST = IT_ITAB-DUMMY+167(30).

IT_HEADER-HERLD = IT_ITAB-DUMMY+197(3).

IT_HEADER-TYPBZ = IT_ITAB-DUMMY+200(28).

IT_HEADER-BAUJJ = IT_ITAB-DUMMY+228(4).

IT_HEADER-BAUMM = IT_ITAB-DUMMY+232(2).

IT_HEADER-MAPAR = IT_ITAB-DUMMY+234(30).

IT_HEADER-SERGE = IT_ITAB-DUMMY+264(30).

IT_HEADER-SWERK = IT_ITAB-DUMMY+294(4).

IT_HEADER-STORT = IT_ITAB-DUMMY+298(10).

IT_HEADER-MSGRP = IT_ITAB-DUMMY+308(8).

IT_HEADER-BEBER = IT_ITAB-DUMMY+316(3).

IT_HEADER-ARBPL = IT_ITAB-DUMMY+319(8).

IT_HEADER-ABCKZ = IT_ITAB-DUMMY+327(1).

IT_HEADER-EQFNR = IT_ITAB-DUMMY+328(30).

IT_HEADER-TITLE_MEDI = IT_ITAB-DUMMY+358(10).

IT_HEADER-SORT1 = IT_ITAB-DUMMY+368(20).

IT_HEADER-POST_CODE1 = IT_ITAB-DUMMY+388(10).

IT_HEADER-CITY1 = IT_ITAB-DUMMY+398(40).

IT_HEADER-COUNTRY = IT_ITAB-DUMMY+438(3).

IT_HEADER-PO_BOX = IT_ITAB-DUMMY+441(10).

IT_HEADER-POST_CODE2 = IT_ITAB-DUMMY+451(10).

IT_HEADER-LANGU = IT_ITAB-DUMMY+461(1).

IT_HEADER-TEL_NUMBER = IT_ITAB-DUMMY+462(30).

IT_HEADER-MOB_NUMBER = IT_ITAB-DUMMY+492(30).

IT_HEADER-FAX_NUMBER = IT_ITAB-DUMMY+522(30).

IT_HEADER-SMTP_ADDR = IT_ITAB-DUMMY+552(241).

IT_HEADER-IWERK = IT_ITAB-DUMMY+793(4).

IT_HEADER-BUKRS = IT_ITAB-DUMMY+797(4).

IT_HEADER-KOSTL = IT_ITAB-DUMMY+801(10).

IT_HEADER-KOKRS = IT_ITAB-DUMMY+811(4).

IT_HEADER-IWERK = IT_ITAB-DUMMY+815(4).

IT_HEADER-INGRP = IT_ITAB-DUMMY+819(3).

IT_HEADER-GEWRK = IT_ITAB-DUMMY+822(8).

IT_HEADER-WERGW = IT_ITAB-DUMMY+830(4).

APPEND IT_HEADER.

ELSE.

IT_ITEMS-POSITIONS = IT_ITAB-DUMMY+2(4).

IT_ITEMS-EQUIPMENT = IT_ITAB-DUMMY+6(18).

  • IT_ITEMS-TPLKZ = IT_ITAB-DUMMY+24(5).

APPEND IT_ITEMS.

ENDIF.

ENDLOOP.

DATA:IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,

IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

*perform open_group.

LOOP AT IT_HEADER.

REFRESH IT_BDCDATA.

perform bdc_dynpro using 'SAPMILO0' '1110'.

perform bdc_field using 'BDC_CURSOR'

'IFLOS-STRNO'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'IFLOS-STRNO'

IT_HEADER-STRNO.

perform bdc_field using 'RILO0-TPLKZ'

IT_HEADER-TPLKZ.

perform bdc_field using 'IFLO-FLTYP'

IT_HEADER-FLTYP.

perform bdc_dynpro using 'SAPMILO0' '2100'.

perform bdc_field using 'BDC_OKCODE'

'=T\02'.

perform bdc_field using 'IFLO-PLTXT'

IT_HEADER-PLTXT.

perform bdc_field using 'ITOB-BEGRU'

IT_HEADER-BEGRU.

perform bdc_field using 'ITOB-BRGEW'

IT_HEADER-BRGEW.

perform bdc_field using 'ITOB-GEWEI'

IT_HEADER-GEWEI.

perform bdc_field using 'ITOB-GROES'

IT_HEADER-GROES.

perform bdc_field using 'ITOB-INBDT'

IT_HEADER-INBDT.

perform bdc_field using 'ITOB-EQART'

IT_HEADER-EQART.

perform bdc_field using 'ITOB-ANSWT'

IT_HEADER-ANSWT.

perform bdc_field using 'ITOB-WAERS'

IT_HEADER-WAERS.

perform bdc_field using 'ITOB-ANSDT'

IT_HEADER-ANSDT.

perform bdc_field using 'BDC_CURSOR'

'ITOB-SERGE'.

perform bdc_field using 'ITOB-HERST'

IT_HEADER-HERST.

perform bdc_field using 'ITOB-HERLD'

IT_HEADER-HERLD.

perform bdc_field using 'ITOB-TYPBZ'

IT_HEADER-TYPBZ.

perform bdc_field using 'ITOB-BAUJJ'

IT_HEADER-BAUJJ.

perform bdc_field using 'ITOB-BAUMM'

IT_HEADER-BAUMM.

perform bdc_field using 'ITOB-MAPAR'

IT_HEADER-MAPAR.

perform bdc_field using 'ITOB-SERGE'

IT_HEADER-SERGE.

perform bdc_dynpro using 'SAPMILO0' '2100'.

perform bdc_field using 'BDC_OKCODE'

'=ADRE'.

perform bdc_field using 'IFLO-PLTXT'

IT_HEADER-PLTXT.

perform bdc_field using 'BDC_CURSOR'

'ITOB-EQFNR'.

perform bdc_field using 'ITOB-SWERK'

IT_HEADER-SWERK.

perform bdc_field using 'ITOB-STORT'

IT_HEADER-STORT.

perform bdc_field using 'ITOB-MSGRP'

IT_HEADER-MSGRP.

perform bdc_field using 'ITOB-BEBER'

IT_HEADER-BEBER.

perform bdc_field using 'ITOBATTR-ARBPL'

IT_HEADER-ARBPL.

perform bdc_field using 'ITOB-ABCKZ'

IT_HEADER-ABCKZ.

perform bdc_field using 'ITOB-EQFNR'

IT_HEADER-EQFNR.

perform bdc_dynpro using 'SAPLSZA1' '0201'.

perform bdc_field using 'BDC_CURSOR'

'SZA1_D0100-SMTP_ADDR'.

perform bdc_field using 'BDC_OKCODE'

'=CONT'.

perform bdc_field using 'SZA1_D0100-TITLE_MEDI'

IT_HEADER-TITLE_MEDI.

perform bdc_field using 'ADDR1_DATA-SORT1'

IT_HEADER-SORT1.

perform bdc_field using 'ADDR1_DATA-POST_CODE1'

IT_HEADER-POST_CODE1.

perform bdc_field using 'ADDR1_DATA-CITY1'

IT_HEADER-CITY1.

perform bdc_field using 'ADDR1_DATA-COUNTRY'

IT_HEADER-COUNTRY.

perform bdc_field using 'ADDR1_DATA-PO_BOX'

IT_HEADER-PO_BOX.

perform bdc_field using 'ADDR1_DATA-POST_CODE2'

IT_HEADER-POST_CODE2.

perform bdc_field using 'ADDR1_DATA-LANGU'

'EN'.

perform bdc_field using 'SZA1_D0100-TEL_NUMBER'

IT_HEADER-TEL_NUMBER.

perform bdc_field using 'SZA1_D0100-MOB_NUMBER'

IT_HEADER-MOB_NUMBER.

perform bdc_field using 'SZA1_D0100-FAX_NUMBER'

IT_HEADER-FAX_NUMBER.

perform bdc_field using 'SZA1_D0100-SMTP_ADDR'

IT_HEADER-SMTP_ADDR.

perform bdc_dynpro using 'SAPMILO0' '2100'.

perform bdc_field using 'BDC_OKCODE'

'=T\03'.

perform bdc_field using 'IFLO-PLTXT'

IT_HEADER-PLTXT.

perform bdc_field using 'BDC_CURSOR'

'ITOB-EQFNR'.

perform bdc_field using 'ITOB-SWERK'

IT_HEADER-SWERK.

perform bdc_field using 'ITOB-STORT'

IT_HEADER-STORT.

perform bdc_field using 'ITOB-MSGRP'

IT_HEADER-MSGRP.

perform bdc_field using 'ITOB-BEBER'

IT_HEADER-BEBER.

perform bdc_field using 'ITOBATTR-ARBPL'

IT_HEADER-ARBPL..

perform bdc_field using 'ITOB-ABCKZ'

IT_HEADER-ABCKZ..

perform bdc_field using 'ITOB-EQFNR'

IT_HEADER-EQFNR.

perform bdc_dynpro using 'SAPMILO0' '2100'.

perform bdc_field using 'BDC_OKCODE'

'T\04'.

perform bdc_field using 'IFLO-PLTXT'

IT_HEADER-PLTXT.

perform bdc_field using 'ITOB-BUKRS'

IT_HEADER-BUKRS.

perform bdc_field using 'ITOB-KOSTL'

IT_HEADER-KOSTL.

perform bdc_field using 'BDC_CURSOR'

'ITOBATTR-WERGW'.

perform bdc_field using 'ITOB-IWERK'

IT_HEADER-IWERK.

perform bdc_field using 'ITOB-INGRP'

IT_HEADER-INGRP.

perform bdc_field using 'ITOBATTR-GEWRK'

IT_HEADER-GEWRK.

perform bdc_field using 'ITOBATTR-WERGW'

IT_HEADER-WERGW.

perform bdc_dynpro using 'SAPMILO0' '2100'.

perform bdc_field using 'BDC_CURSOR'

'IFLO-PLTXT'.

perform bdc_field using 'BDC_OKCODE'

'=UEQU'.

perform bdc_field using 'IFLO-PLTXT'

IT_HEADER-PLTXT.

perform bdc_field using 'ITOBATTR-IEQUI'

'X'.

DATA: FLD(20) TYPE C,

CNT(2) TYPE N.

LOOP AT IT_ITEMS WHERE

TPLKZ = IT_HEADER-TPLKZ.

*REFRESH: IT_ITEMS..

MOVE IT_ITEMS-POSITIONS TO IT_ITEMS-POSITIONS.

APPEND IT_ITEMS.

MOVE IT_ITEMS-EQUIPMENT TO IT_ITEMS-EQUIPMENT.

APPEND IT_ITEMS..

ENDLOOP.

perform bdc_dynpro using 'SAPLIEL2' '0101'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

IF CNT > 5.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=P+'.

perform bdc_field using 'BDC_CURSOR'

'IEQINSTALL-EQUNR(03)'.

CNT = 1.

ENDIF.

LOOP AT IT_ITEMS.

CONCATENATE 'IEQINSTALL-EQUNR (' CNT ')' INTO FLD.

PERFORM BDC_FIELD USING FLD IT_ITEMS-POSITIONS.

CNT = CNT + 1.

ENDLOOP.

perform bdc_field using 'IEQINSTALL-HSTPS(01)'

IT_ITEMS-POSITIONS.

perform bdc_field using 'IEQINSTALL-HSTPS(02)'

IT_ITEMS-POSITIONS.

perform bdc_field using 'IEQINSTALL-HSTPS(03)'

IT_ITEMS-POSITIONS.

perform bdc_field using 'IEQINSTALL-EQUNR(01)'

IT_ITEMS-EQUIPMENT.

perform bdc_field using 'IEQINSTALL-EQUNR(02)'

IT_ITEMS-EQUIPMENT.

perform bdc_field using 'IEQINSTALL-EQUNR(03)'

IT_ITEMS-EQUIPMENT.

perform bdc_dynpro using 'SAPLIEL2' '0101'.

perform bdc_field using 'BDC_OKCODE'

'/ERW'.

perform bdc_field using 'BDC_CURSOR'

'IEQINSTALL-HSTPS(01)'.

LOOP AT IT_ITEMS.

CONCATENATE 'IEQINSTALL-HSTPS(' CNT ')' INTO FLD.

PERFORM BDC_FIELD USING FLD IT_ITEMS.

CNT = CNT + 1.

ENDLOOP.

perform bdc_dynpro using 'SAPMILO0' '2100'.

perform bdc_field using 'BDC_CURSOR'

'IFLO-PLTXT'.

perform bdc_field using 'BDC_OKCODE'

'=BU'.

perform bdc_field using 'IFLO-PLTXT'

IT_HEADER-PLTXT.

perform bdc_field using 'ITOBATTR-IEQUI'

'X'.

*perform bdc_transaction using 'IL01'.

CALL TRANSACTION 'IL01' USING IT_BDCDATA

MODE 'A'

UPDATE 'S'

MESSAGES INTO IT_BDCMSGCOLL.

ENDLOOP.

PARAMETERS: P_BEGCOL TYPE I DEFAULT 1,

P_BEGROW TYPE I DEFAULT 1,

P_ENDCOL TYPE I DEFAULT 100,

P_ENDROW TYPE I DEFAULT 32000.

form UPLOAD_FILE_DATA .

call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'

exporting

FILENAME = FILE

I_BEGIN_COL = P_BEGCOL

I_BEGIN_ROW = P_BEGROW

I_END_COL = P_ENDCOL

I_END_ROW = P_ENDROW

tables

INTERN = JTAB

exceptions

INCONSISTENT_PARAMETERS = 1

UPLOAD_OLE = 2

others = 3.

if SY-SUBRC <> 0.

MESSAGE e000(0) with 'Error in getting filename'.

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

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

endif.

endform. " upload_file_data

form TRANSERING_DATA .

loop at JTAB.

at new ROW.

clear JTAB.

endat.

case JTAB-COL.

when '001'.

move JTAB-VALUE to IT_HEADER-STRNO.

when '002'.

move JTAB-VALUE to IT_HEADER-TPLKZ..

when '003'.

move JTAB-VALUE to IT_HEADER-FLTYP.

when '004'.

move JTAB-VALUE to IT_HEADER-PLTXT.

when '005'.

move JTAB-VALUE to IT_HEADER-EQART.

when '006'.

move JTAB-VALUE to IT_HEADER-BEGRU.

when '007'.

move JTAB-VALUE to IT_HEADER-BRGEW.

when '008'.

move JTAB-VALUE to IT_HEADER-GEWEI.

when '009'.

move JTAB-VALUE to IT_HEADER-GROES.

when '010'.

move JTAB-VALUE to IT_HEADER-INBDT.

when '011'.

move JTAB-VALUE to IT_HEADER-ANSWT.

when '012'.

move JTAB-VALUE to IT_HEADER-WAERS.

when '013'.

move JTAB-VALUE to IT_HEADER-ANSDT.

when '014'.

move JTAB-VALUE to IT_HEADER-HERST.

when '015'.

move JTAB-VALUE to IT_HEADER-HERLD.

when '016'.

move JTAB-VALUE to IT_HEADER-TYPBZ.

when '017'.

move JTAB-VALUE to IT_HEADER-BAUJJ.

when '018'.

move JTAB-VALUE to IT_HEADER-BAUMM.

when '019'.

move JTAB-VALUE to IT_HEADER-MAPAR.

when '020'.

move JTAB-VALUE to IT_HEADER-SERGE.

when '021'.

move JTAB-VALUE to IT_HEADER-SWERK.

when '022'.

move JTAB-VALUE to IT_HEADER-STORT.

when '023'.

move JTAB-VALUE to IT_HEADER-MSGRP.

when '024'.

move JTAB-VALUE to IT_HEADER-BEBER.

when '025'.

move JTAB-VALUE to IT_HEADER-ARBPL.

when '026'.

move JTAB-VALUE to IT_HEADER-ABCKZ.

when '027'.

move JTAB-VALUE to IT_HEADER-EQFNR.

when '028'.

move JTAB-VALUE to IT_HEADER-SORT1.

when '029'.

move JTAB-VALUE to IT_HEADER-POST_CODE1.

when '030'.

move JTAB-VALUE to IT_HEADER-CITY1.

when '031'.

move JTAB-VALUE to IT_HEADER-COUNTRY.

when '032'.

move JTAB-VALUE to IT_HEADER-PO_BOX.

when '033'.

move JTAB-VALUE to IT_HEADER-POST_CODE2.

when '034'.

move JTAB-VALUE to IT_HEADER-TEL_NUMBER.

when '035'.

move JTAB-VALUE to IT_HEADER-MOB_NUMBER.

when '036'.

move JTAB-VALUE to IT_HEADER-FAX_NUMBER.

when '037'.

move JTAB-VALUE to IT_HEADER-SMTP_ADDR.

when '038'.

move JTAB-VALUE to IT_HEADER-BUKRS.

when '039'.

move JTAB-VALUE to IT_HEADER-KOSTL.

when '040'.

move JTAB-VALUE to IT_HEADER-KOKRS.

when '041'.

move JTAB-VALUE to IT_HEADER-IWERK.

when '042'.

move JTAB-VALUE to IT_HEADER-INGRP.

when '043'.

move JTAB-VALUE to IT_HEADER-GEWRK.

when '044'.

move JTAB-VALUE to IT_HEADER-WERGW.

when '045'.

perform table_control.

endcase.

at end of ROW.

append IT_HEADER.

endat.

endloop.

endform. " transering_data

FORM TABLE_CONTROL.

loop at JTAB.

at new ROW.

clear JTAB.

endat.

case JTAB-COL.

WHEN '001'.

MOVE JTAB-VALUE TO IT_ITEMS-POSITIONS.

WHEN '002'.

MOVE JTAB-VALUE TO IT_ITEMS-EQUIPMENT.

ENDCASE.

AT END OF ROW.

APPEND IT_ITEMS.

ENDAT.

ENDLOOP.

ENDFORM.

FORM BDC_DYNPRO USING PROG SCR.

CLEAR IT_BDCDATA.

IT_BDCDATA-PROGRAM = PROG.

IT_BDCDATA-DYNPRO = SCR.

IT_BDCDATA-DYNBEGIN = 'X'.

APPEND IT_BDCDATA.

ENDFORM.

FORM BDC_FIELD USING FNAM FVAL.

CLEAR IT_BDCDATA.

IT_BDCDATA-FNAM = FNAM.

IT_BDCDATA-FVAL = FVAL.

APPEND IT_BDCDATA.

ENDFORM.