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: 

problem in BDC table control for t.code ABAVN

Former Member
0 Kudos
856

Facing problem in uploading asset numbers.

Requirement: - Uploading data to transaction code ABAVN.

1. After running the transaction click on multiple assets.

2. Then we enter first four fields i.e. Document date, posting date, asset value date and text.

3. After that we make entry in the list of assets field say around 200 asset numbers so that it generates only one document number.

Problem: - As I was working with BDC the problem I faced is in recording. After entering six asset numbers I have to press enter to activate the scroll bar, as I click scroll down it records full screen fields for every single scroll.

Thanks and regards,

Vishal Divekar.

10 REPLIES 10

Former Member
0 Kudos
267

hi Ravi,

Thanks for ur valuable response, but the link is not helping me much, if u check the transaction u'll see that intially six rows are visible for entering list of assets, to enter more i have to click on insert, but for coding purpose i am not able to get field name.

Thankx,

Vishal.

Former Member
0 Kudos
267

Hi Vishal ,

After Every Six lines do the Page down ( +P ), So repert the same Code what u do for the first 6 lines.

Regards

Prabhu

Former Member
0 Kudos
267

Hi,

I have never done page down coding, so i am not able to understand ur point.

i m sending u the code what i have done. in this i am getting an error EL1 does not exist, but it is visible while recording.

REPORT ztestprog_abavn

NO STANDARD PAGE HEADING LINE-SIZE 255.

*include bdcrecx1.

DATA : BEGIN OF it_anla OCCURS 0,

bldat TYPE bldat,

budat TYPE budat,

bzdat TYPE bzdat,

SGTXT TYPE SGTXT,

anln1 TYPE anln1,

END OF it_anla.

DATA i_bdcdata TYPE bdcdata OCCURS 1 WITH HEADER LINE.

data : flag(3) type n,

i(1) type n.

CALL FUNCTION 'UPLOAD'

EXPORTING

filename = 'c:\test.txt'

filetype = 'DAT'

  • HAS_FIELD_SEPARATOR = ' '

  • 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 = it_anla

  • 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.

DATA: w_year(4), w_month(2), w_day(2).

loop at it_anla.

w_year = it_anla-bldat+0(4).

w_month = it_anla-bldat+4(2).

w_day = it_anla-bldat+6(2).

CONCATENATE w_month '/' w_day '/' w_year INTO it_anla-bldat.

CONDENSE it_anla-bldat.

modify it_anla.

endloop.

describe table it_anla lines flag.

START-OF-SELECTION.

i = 0.

LOOP AT it_anla.

refresh i_bdcdata.

*perform open_group.

perform bdc_dynpro using 'SAPLAMDP' '0100'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/EMULT'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

  • PERFORM bdc_field USING 'BDC_OKCODE'

  • '=TC_133_INSERT_LINE'.

PERFORM bdc_field USING 'RAIFP1-BLDAT'

it_anla-bldat.

PERFORM bdc_field USING 'RAIFP1-BUDAT'

it_anla-budat.

PERFORM bdc_field USING 'RAIFP1-BZDAT'

it_anla-bzdat.

PERFORM bdc_field USING 'RAIFP2-SGTXT'

it_anla-sgtxt.

i = i + 1.

PERFORM bdc_field USING 'BDC_CURSOR'

'EL1(i)'.

PERFORM bdc_field USING 'EL1(i)'

it_anla-anln1.

  • PERFORM bdc_field USING 'EL1(02)'

  • '10000002'.

  • PERFORM bdc_field USING 'EL1(03)'

  • '10000003'.

  • PERFORM bdc_field USING 'EL1(04)'

  • '10000004'.

  • PERFORM bdc_field USING 'EL1(05)'

  • '10000005'.

  • PERFORM bdc_field USING 'EL1(06)'

  • '10000006'.

if i gt '6'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=TC_133_INSERT_LINE'.

  • PERFORM bdc_field USING 'RAIFP1-BLDAT'

  • '05/01/2006'.

  • PERFORM bdc_field USING 'RAIFP1-BUDAT'

  • '06/26/2006'.

  • PERFORM bdc_field USING 'RAIFP1-BZDAT'

  • '06/21/2006'.

PERFORM bdc_field USING 'BDC_CURSOR'

'EL1(06)'.

PERFORM bdc_field USING 'EL1(06)'

it_anla-anln1.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/ERTRN'.

PERFORM bdc_dynpro USING 'SAPLSPO1' '0200'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=YES'.

endif.

CALL TRANSACTION 'ABAVN' USING i_bdcdata mode 'A'.

ENDLOOP.

----


  • Start new screen *

----


FORM bdc_dynpro USING program dynpro.

CLEAR i_bdcdata.

i_bdcdata-program = program.

i_bdcdata-dynpro = dynpro.

i_bdcdata-dynbegin = 'X'.

APPEND i_bdcdata.

ENDFORM. "bdc_dynpro

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

IF fval <> space.

CLEAR i_bdcdata.

i_bdcdata-fnam = fnam.

i_bdcdata-fval = fval.

APPEND i_bdcdata.

ENDIF.

ENDFORM. "bdc_field

*perform close_group.

Former Member
0 Kudos
267

can anyone help me out in this please..

Thanks,

Vishal.

0 Kudos
267

use the pagedown button in the Application tool bar(Ok code is P+), enter 1 record then pass this Ok code then enter the second record then pass the Ok code so on, so every time you pass 1 value and press the page down button

0 Kudos
267

Hi Kishan,

I tried as what u said but there is no page down button on application tool bar but still i tried putting the P+ code it didnt work, i can do page down using keyboard page down key, but i couldnt find any BDC okcode field value in the recording for it.

It will be a great help if u could send me a sample code of using page down key.....

thanks in advance....

Vishal.

Former Member
0 Kudos
267

Hi,

can u please send me the BDC_OKCODE field value for page down button....

Thanks,

Vishal

Former Member
0 Kudos
267

Hi Vishal,

chk this links might help you

http://www.sapfans.com/sapfans/repos/comelite.htm

http://arthur_ong.tripod.com/xab023.htm

pagedown button in the Application tool bar(Ok code is P+)

(or)

Here is the code for BDCtable control .

It will fix the rows irrespective of the resolution.

The code in Bold is for fixing the rows.

DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

  • messages of call transaction

DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

  • error session opened (' ' or 'X')

data: w_options like ctu_params,

w_bukrs type bukrs,

w_cont type kokrs value 'CO01',

w_vlcur(18),

row type i,

wa_msg(255),

count type i,

int_excel type ALSMEX_TABLINE occurs 0 with header line,

w_bdc02(10),

w_bdc04(10),

w_bdc06(10),

w_bdc08(10),

w_bdc10(10),

w_bdc07(10),

w_bdc11(10),

w_bdc12(10),

w_msl(18),

w_max(2) type n,

w_count(2) type n value 1,

w_layout type RKE_CFORM,

w_date like sy-datum.

data: begin of it_tab occurs 0,

prctr type prctr,"Profit Center

racct type racct,"Account no

vlcur type VLCUR_PCA,"Company Code Currency

fkber type fkber_pca,"Functional area

werks type werks_d,"Plant

matnr type GLPCA-MATNR,"Material

sgtxt type GLPCA-SGTXT,"Text

anln1 type GLPCA-ANLN1,"Asset No

anln2 type GLPCA-ANLN2,"Asset Sub number

msl type RPCAC80-msl,"Quantity

runit type RPCAC80-runit,"UOM

end of it_tab.

selection-screen begin of screen 100.

parameters: filename type RLGRAP-FILENAME obligatory ,

P_LAYOUT TYPE RKE_CFORM,

BUKRS TYPE BUKRS,

P_DATE TYPE BUDAT.

select-options: rows for row no-extension.

selection-screen end of screen 100.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.

*Getting File Name

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

IMPORTING

FILE_NAME = filename.

initialization.

w_options-defsize = 'X'.

W_OPTIONS-DISMODE = 'N'.

W_OPTIONS-RACOMMIT = 'X'.

start-of-selection.

call screen 100.

*Converting Excel Sheet to internal Table

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

FILENAME = filename

I_BEGIN_COL = 1

I_BEGIN_ROW = rows-low

I_END_COL = 11

I_END_ROW = rows-high

TABLES

INTERN = int_excel

  • EXCEPTIONS

  • INCONSISTENT_PARAMETERS = 1

  • UPLOAD_OLE = 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.

*Converting Excel internal table to

loop at int_excel.

case int_excel-col.

when 1."Profit Center

it_tab-prctr = int_excel-value.

when 2."Account no

it_tab-racct = int_excel-value.

when 3."Company Code Currency

it_tab-vlcur = int_excel-value.

when 4."Quanitity

it_tab-msl = int_excel-value.

when 5."Functional area

it_tab-fkber = int_excel-value.

when 6."Plant

it_tab-werks = int_excel-value.

when 7. "Material

it_tab-matnr = int_excel-value.

when 8."Asset

it_tab-anln1 = int_excel-value.

when 9."Asset Subnumber

it_tab-anln2 = int_excel-value.

when 10."Text

it_tab-sgtxt = int_excel-value.

when 11."UOM

it_tab-runit = int_excel-value.

endcase.

at end of row.

append it_tab.

clear it_tab.

endat.

endloop.

set parameter id 'CAC' field w_cont.

set parameter id 'BUK' field bukrs.

write p_date to w_date.

perform bdc_dynpro using 'SAPLPCPP' '1000'.

perform bdc_field using 'BDC_CURSOR'

'RKB1S-FORM'.

perform bdc_field using 'BDC_OKCODE'

'=SPLN'.

perform bdc_field using 'RKB1S-FORM'

P_LAYOUT."'PCA01'.

perform bdc_field using 'RPCAP-DOCTY'

'A0'.

perform bdc_field using 'RPCAA-BUDAT'

w_date.

perform bdc_dynpro using 'SAPLKPP0' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=CZUR'.

perform bdc_dynpro using 'SAPLPCPP' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=SPLN'.

perform bdc_field using 'RPCAA-BUDAT'

w_date.

perform bdc_dynpro using 'SAPLKPP0' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=CSUB'.

if p_layout = 'PCA03'.

perform bdc_dynpro using 'SAPLKPP2' '0106'.

perform bdc_field using 'BDC_OKCODE'

'=SACD'.

else.

perform bdc_dynpro using 'SAPLKPP2' '0103'.

perform bdc_field using 'BDC_OKCODE'

'=SACD'.

endif.

loop at it_tab.

write it_tab-vlcur to w_vlcur.

write it_tab-msl to w_msl.

concatenate 'BDC02(' w_count ')' into w_bdc02.

concatenate 'BDC04(' w_count ')' into w_bdc04.

concatenate 'BDC06(' w_count ')' into w_bdc06.

concatenate 'BDC07(' w_count ')' into w_bdc07.

concatenate 'BDC08(' w_count ')' into w_bdc08.

concatenate 'BDC10(' w_count ')' into w_bdc10.

concatenate 'BDC11(' w_count ')' into w_bdc11.

concatenate 'BDC12(' w_count ')' into w_bdc12.

if p_layout = 'PCA03'.

perform bdc_dynpro using 'SAPLKPP2' '0106'.

else.

perform bdc_dynpro using 'SAPLKPP2' '0103'.

endif.

perform bdc_field using 'BDC_CURSOR'

w_bdc06.

perform bdc_field using 'BDC_OKCODE'

'/00'.

if p_layout = 'PCA01'.

perform bdc_field using w_bdc02

it_tab-prctr."'1010101001'.

perform bdc_field using w_bdc04

it_tab-racct."'890003'.

perform bdc_field using w_bdc06

it_tab-runit.

perform bdc_field using w_bdc07

w_vlcur."'345'.

perform bdc_field using w_bdc08

w_msl.

elseif p_layout = 'PCA02' or p_layout = 'PCA03'.

perform bdc_field using w_bdc02

it_tab-prctr."'1010101001'.

perform bdc_field using w_bdc04

it_tab-fkber."Functional area

perform bdc_field using w_bdc06

it_tab-werks."Plant

perform bdc_field using w_bdc08

it_tab-racct.

perform bdc_field using w_bdc10

it_tab-runit.

perform bdc_field using w_bdc11

w_vlcur."'345'.

perform bdc_field using w_bdc12

w_msl.

endif.

if p_layout = 'PCA03'.

perform bdc_dynpro using 'SAPLKPP2' '0106'.

else.

perform bdc_dynpro using 'SAPLKPP2' '0103'.

endif.

perform bdc_field using 'BDC_CURSOR'

w_bdc02.

perform bdc_field using 'BDC_OKCODE'

'=SACD'.

perform bdc_dynpro using 'SAPLPCAD' '0001'.

perform bdc_field using 'BDC_OKCODE'

'=SADL'.

perform bdc_field using 'GLPCA-SGTXT'

it_tab-sgtxt.

perform bdc_dynpro using 'SAPLPCAD' '0001'.

perform bdc_field using 'BDC_OKCODE'

'=SADI'.

perform bdc_field using 'GLPCA-SGTXT'

it_tab-sgtxt.

perform bdc_field using 'BDC_CURSOR'

'GLPCA-REP_MATNR'.

if p_layout = 'PCA01'.

perform bdc_field using 'GLPCA-WERKS'

it_tab-werks.

endif.

perform bdc_field using 'GLPCA-MATNR'

it_tab-matnr.

perform bdc_dynpro using 'SAPLPCAD' '0001'.

perform bdc_field using 'BDC_OKCODE'

'=SWTR'.

*perform bdc_field using 'GLPCA-SGTXT'

  • 'test'.

perform bdc_field using 'BDC_CURSOR'

'GLPCA-ANLN2'.

perform bdc_field using 'GLPCA-ANLN1'

it_tab-anln1.

perform bdc_field using 'GLPCA-ANLN2'

it_tab-anln2.

if p_layout = 'PCA03'.

w_max = 14.

else.

w_max = 15.

endif.

if w_count = w_max.

if p_layout = 'PCA03'.

perform bdc_dynpro using 'SAPLKPP2' '0106'.

else.

perform bdc_dynpro using 'SAPLKPP2' '0103'.

endif.

perform bdc_field using 'BDC_OKCODE'

'=CP+'.

if p_layout = 'PCA03'.

perform bdc_dynpro using 'SAPLKPP2' '0106'.

else.

perform bdc_dynpro using 'SAPLKPP2' '0103'.

endif.

perform bdc_field using 'BDC_OKCODE'

'=SACD'.

w_count = 0.

endif.

w_count = w_count + 1.

endloop.

if p_layout = 'PCA03'.

perform bdc_dynpro using 'SAPLKPP2' '0106'.

else.

perform bdc_dynpro using 'SAPLKPP2' '0103'.

endif.

perform bdc_field using 'BDC_OKCODE'

'=CBUC'.

perform bdc_dynpro using 'SAPLSPO1' '0300'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

perform bdc_dynpro using 'SAPLKPP0' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=CZUR'.

perform bdc_dynpro using 'SAPLPCPP' '1000'.

perform bdc_field using 'BDC_OKCODE'

'/ESZUR'.

CALL TRANSACTION '9KE0' USING BDCDATA

OPTIONS FROM W_OPTIONS

MESSAGES INTO MESSTAB.

SORT messtab.

delete adjacent duplicates from messtab.

loop at messtab.

CALL FUNCTION 'FORMAT_MESSAGE'

EXPORTING

ID = messtab-msgid

LANG = 'E'

NO = messtab-msgnr

V1 = messtab-msgv1

V2 = messtab-msgv2

V3 = messtab-msgv3

V4 = messtab-msgv4

IMPORTING

MSG = wa_msg

  • EXCEPTIONS

  • NOT_FOUND = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

write :wa_msg.

clear: wa_msg.

endloop.

refresh:messtab,bdcdata.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM.

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDFORM.

Please reward points if you find this as a right solution

Regards,

Harini

0 Kudos
267

1st check in which screen u have table control...

after that..

u just write this way....

ex----

perform bdc_dynpro using 'SAPLPCPP' '1000'.

perform bdc_field using 'BDC_CURSOR'

'RKB1S-FORM'.

perform bdc_field using 'BDC_OKCODE'

'(+p)'.----> or +p

0 Kudos
267

Hi,

My problem is almost solved, i have written code for 10 records, i have used insert button code, after entering six records i have to click insert, but for entering seventh record i have to write six line code,

now my problem is that i have to upload 200 records, for this, do i have to define 200 fields in internal table?? such as anln1 TYPE anln1, anln2 type anln1, ......anln200 type anln1 and also the six line code such as....

***INSERT RECORD

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR' 'EL1(06)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=TC_133_INSERT_LINE'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'EL1(06)' it_anla-anln9.

for each and every record.....???

if i do that my code will go upto 2500 lines which might affect the performance.... is there any alternative for it.... such as looping... or counter to define field in internal table..... reduce my coding part....

i m pasting my code below......

waiting for ur suggestions.....

REPORT ztestprog_abavn NO STANDARD PAGE HEADING LINE-SIZE 255.

*include bdcrecx1.

DATA : BEGIN OF it_anla OCCURS 0,

bldat(10)," TYPE bldat,

budat(10)," TYPE budat,

bzdat(10)," TYPE bzdat,

SGTXT TYPE SGTXT,

  • include structure abcd,

  • anln(10) type n,

anln1 TYPE anln1,

anln2 type anln1,

anln3 type anln1,

anln4 type anln1,

anln5 type anln1,

anln6 type anln1,

anln7 type anln1,

anln8 type anln1,

anln9 type anln1,

anln10 type anln1,

END OF it_anla.

DATA i_bdcdata TYPE bdcdata OCCURS 1 WITH HEADER LINE.

data : flag(3) type n,

i(1) type n.

CALL FUNCTION 'UPLOAD'

EXPORTING

filename = 'c:\test.txt'

filetype = 'DAT'

  • HAS_FIELD_SEPARATOR = ' '

  • 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 = it_anla

  • 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.

*describe table it_anla lines flag.

START-OF-SELECTION.

i = 1.

LOOP AT it_anla.

refresh i_bdcdata.

*perform open_group.

perform bdc_dynpro using 'SAPLAMDP' '0100'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/EMULT'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

  • PERFORM bdc_field USING 'BDC_OKCODE'

  • '=TC_133_INSERT_LINE'.

PERFORM bdc_field USING 'RAIFP1-BLDAT'

it_anla-bldat.

PERFORM bdc_field USING 'RAIFP1-BUDAT'

it_anla-budat.

PERFORM bdc_field USING 'RAIFP1-BZDAT'

it_anla-bzdat.

PERFORM bdc_field USING 'RAIFP2-SGTXT'

it_anla-sgtxt.

  • i = i + 1.

PERFORM bdc_field USING 'BDC_CURSOR'

'EL1(06)'.

PERFORM bdc_field USING 'EL1(01)'

it_anla-anln1.

PERFORM bdc_field USING 'EL1(02)'

it_anla-anln2.

PERFORM bdc_field USING 'EL1(03)'

it_anla-anln3.

PERFORM bdc_field USING 'EL1(04)'

it_anla-anln4.

PERFORM bdc_field USING 'EL1(05)'

it_anla-anln5.

PERFORM bdc_field USING 'EL1(06)'

it_anla-anln6.

***INSERT RECORD

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR' 'EL1(06)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=TC_133_INSERT_LINE'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'EL1(06)' it_anla-anln7.

***INSERT RECORD

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR' 'EL1(06)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=TC_133_INSERT_LINE'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'EL1(06)' it_anla-anln8.

***INSERT RECORD

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR' 'EL1(06)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=TC_133_INSERT_LINE'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'EL1(06)' it_anla-anln9.

***INSERT RECORD

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR' 'EL1(06)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=TC_133_INSERT_LINE'.

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'EL1(06)' it_anla-anln10.

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

***SORTING THE ASSETS

PERFORM bdc_dynpro USING 'SAPLAMDP' '0110'.

PERFORM bdc_field USING 'BDC_OKCODE' '=TC_133_SORT_UP'.

PERFORM bdc_dynpro USING 'SAPLSTC1' '0500'.

PERFORM bdc_field USING 'BDC_CURSOR' 'FIELDTEXT(01)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=MVLEFT'.

PERFORM bdc_field USING 'MARKER(01)' 'X'.

PERFORM bdc_dynpro USING 'SAPLSTC1' '0500'.

PERFORM bdc_field USING 'BDC_CURSOR' 'SORT_UP(01)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=SORT'.

CALL TRANSACTION 'ABAVN' USING i_bdcdata mode 'A'.

ENDLOOP.

----


  • Start new screen *

----


FORM bdc_dynpro USING program dynpro.

CLEAR i_bdcdata.

i_bdcdata-program = program.

i_bdcdata-dynpro = dynpro.

i_bdcdata-dynbegin = 'X'.

APPEND i_bdcdata.

ENDFORM. "bdc_dynpro

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

IF fval <> space.

CLEAR i_bdcdata.

i_bdcdata-fnam = fnam.

i_bdcdata-fval = fval.

APPEND i_bdcdata.

ENDIF.

ENDFORM. "bdc_field

*perform close_group.