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

Former Member
0 Kudos

HI All,

i want to uplode date to TABLES : KNA1,MARA,T001W,MCHA, AND THE FIELDS ARE VKOR,VTWEG,DIV(9),VSTEL,DATBI(19),VGBEL,KUNNR(10),KUNNR(10),

MATNR,CHARG,LFIMG(13),free_qty(13),LTEXT1(9),LTEXT2(9),LTEXT3(9),VGBEL1,VSTEL1 AND DATBI1(19). I WANT TO TAKE THE DATA FROM APPLICATION SERVER.

PLEASE KINDLY SEND ME ANY CODING FOR THIS.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

i thing this code will work.

REPORT xyzzzzzzz.

*REPORT ZDEL_FILE_CREATE_IN_APPLI_SER line-size 400.

*

  • NEW TABLES 20/10/2001 ADDITION START

TABLES : T001W,

MARA,

MCHA,

KNA1.

*

DATA : BEGIN OF ITAB OCCURS 1,

VKORG LIKE VBAK-VKORG , "SALES ORGANIZATION

VTWEG LIKE VBAK-VTWEG, "DISTRIBUTION CHANNEL

DIV(9), "Division Code

VSTEL LIKE LIKP-VSTEL, "SHIPPING POINT EG: CF01

DATBI(19), "SELECTION DATE

VGBEL LIKE LIPS-VGBEL, "SALES ORDER "d

KUNNR(10), "SAP CUSTOMER

MATNR LIKE LIPS-MATNR, "MATL NO "d

CHARG LIKE LIPS-CHARG, "BATCH NO "d

LFIMG(13), "DELIVERY QTY "d

free_qty(13), "not used in SAP "d

LTEXT1(9), "PACKING NO

LTEXT2(9), "ALLOCATION NO

LTEXT3(9), "C&F SALES INVOICE NO "d

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER "d

VSTEL1 LIKE LIKP-VSTEL, "SHIPPING POINT EG: CF01

DATBI1(19), "SELECTION DATE

END OF ITAB.

data : begin of header_itab occurs 0,

ltext3(9),

end of header_itab.

*******add on 22.10.01

  • NEW INTERNAL TABLES 20/10/2001 ADDITION START

DATA : BEGIN OF PLANTTAB OCCURS 1,

VSTEL1 LIKE LIKP-VSTEL, "SHIPPING POINT EG: CF01

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER

LTEXT3(9), "C&F SALES INVOICE NO

END OF PLANTTAB.

*

DATA : BEGIN OF MATTAB OCCURS 1,

MATNR LIKE LIPS-MATNR, "MATL NO

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER

LTEXT3(9), "C&F SALES INVOICE NO

END OF MATTAB.

*

DATA : BEGIN OF BATCHTAB OCCURS 1,

MATNR LIKE LIPS-MATNR, "MATL NO

VSTEL1 LIKE LIKP-VSTEL, "SHIPPING POINT EG: CF01

CHARG LIKE LIPS-CHARG, "BATCH NO

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER

LTEXT3(9), "C&F SALES INVOICE NO

END OF BATCHTAB.

*

DATA : BEGIN OF CUSTTAB OCCURS 1,

KUNNR(10),

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER

LTEXT3(9), "C&F SALES INVOICE NO

END OF CUSTTAB.

*

DATA : LINENO LIKE SY-TABIX.

DATA : LINE LIKE SY-TABIX.

data :chk(1).

*

data : begin of errtab occurs 0.

include structure itab.

data : end of errtab.

  • NEW INTERNAL TABLES 20/10/2001 ADDITION END

*

parameters : fname(80) default '/usr/oldtest/salesorder.txt'

lower case.

parameters : fname_d(80) default '/usr/oldtest/errsalesorder.txt'

lower case.

parameters : fname_n(80) default '/usr/oldtest/newsalesorder.txt'

lower case.

parameters : chngfile as checkbox default 'X'.

*

at selection-screen output.

loop at screen.

if screen-name = 'FNAME' or screen-name = 'FNAME_D' or

screen-name = 'FNAME_N' or screen-name = 'CHNGFILE'.

screen-input = '0'.

modify screen.

endif.

endloop.

start-of-selection.

open dataset fname for input in text mode encoding utf-8.

*open dataset fname for input in text mode.

if sy-subrc eq 0.

do.

clear itab.

read dataset fname into itab.

if sy-subrc <> 0 .

exit.

endif.

append itab.

clear itab.

enddo.

ENDIF.

close dataset fname.

******

  • NEW VALIDATION 20/10/2001 ADDITION START

LOOP AT ITAB.

*

clear chk.

SELECT SINGLE * FROM T001W WHERE WERKS = ITAB-VSTEL1.

IF SY-SUBRC <> 0.

MOVE : ITAB-VSTEL1 TO PLANTTAB-VSTEL1,

ITAB-VGBEL1 TO PLANTTAB-VGBEL1,

ITAB-LTEXT3 TO PLANTTAB-LTEXT3.

COLLECT PLANTTAB.

CLEAR PLANTTAB.

**251001

move : 'X' to chk.

ENDIF.

*

SELECT SINGLE * FROM MARA WHERE MATNR = ITAB-MATNR.

IF SY-SUBRC <> 0.

MOVE : ITAB-MATNR TO MATTAB-MATNR,

ITAB-VGBEL1 TO MATTAB-VGBEL1,

ITAB-LTEXT3 TO MATTAB-LTEXT3.

COLLECT MATTAB.

CLEAR MATTAB.

**251001

move : 'X' to chk.

ENDIF.

*

SELECT SINGLE * FROM MCHA WHERE MATNR = ITAB-MATNR AND

WERKS = ITAB-VSTEL1 AND

CHARG = ITAB-CHARG.

IF SY-SUBRC <> 0.

MOVE : ITAB-MATNR TO BATCHTAB-MATNR,

ITAB-VSTEL1 TO BATCHTAB-VSTEL1,

ITAB-CHARG TO BATCHTAB-CHARG,

ITAB-VGBEL1 TO BATCHTAB-VGBEL1,

ITAB-LTEXT3 TO BATCHTAB-LTEXT3.

COLLECT BATCHTAB.

CLEAR BATCHTAB.

**251001

move : 'X' to chk.

ENDIF.

*

if not itab-kunnr is initial.

SELECT SINGLE * FROM KNA1 WHERE KUNNR = ITAB-KUNNR.

IF SY-SUBRC <> 0.

MOVE : ITAB-KUNNR TO CUSTTAB-KUNNR,

ITAB-VGBEL1 TO CUSTTAB-VGBEL1,

ITAB-LTEXT3 TO CUSTTAB-LTEXT3.

COLLECT CUSTTAB.

CLEAR CUSTTAB.

**251001

move : 'X' to chk.

ENDIF.

endif.

*

if chk = 'X'.

if not itab-vkorg is initial.

move itab-ltext3 to header_itab-ltext3.

append header_itab.

clear header_itab.

endif.

move-corresponding itab to errtab.

append errtab.

delete itab.

endif.

*

ENDLOOP.

*

loop at itab.

read table header_itab with key ltext3 = itab-ltext3.

if sy-subrc = 0.

move-corresponding itab to errtab.

append errtab.

delete itab.

endif.

endloop.

*

  • Deleted Records from itab.

DESCRIBE TABLE ERRTAB LINES LINE.

WRITE : 'DELETED RECORDS FROM ITAB.' COLOR 4 ,LINE .

ULINE.

*

LOOP AT ERRTAB.

WRITE : /1 ERRTAB-MATNR,

ERRTAB-CHARG,

ERRTAB-VGBEL1,

ERRTAB-VSTEL1,

ERRTAB-LTEXT3.

ENDLOOP.

open dataset fname_d for output in text mode encoding utf-8.

*open dataset fname_d for output in text mode.

loop at errtab.

transfer errtab to fname_d.

endloop.

close dataset fname_d.

*

if not chngfile is initial.

  • open dataset fname_n for output in text mode.

loop at itab.

transfer itab to fname_n.

endloop.

close dataset fname_n.

endif.

  • WRITE MISSING PLANTS

DESCRIBE TABLE PLANTTAB LINES LINENO.

IF LINENO > 0.

WRITE : /1 'Missing plants.' COLOR 4.

ULINE.

SORT PLANTTAB.

LOOP AT PLANTTAB.

WRITE : /1 PLANTTAB-VSTEL1 COLOR 2,

PLANTTAB-VGBEL1 COLOR 2,

PLANTTAB-LTEXT3 COLOR 2.

ENDLOOP.

ELSE.

WRITE : /1 'No plants missing.'.

ENDIF.

*

*

  • WRITE MISSING MATERIALS

DESCRIBE TABLE MATTAB LINES LINENO.

IF LINENO > 0.

WRITE : /1 'Missing materials.' COLOR 4.

ULINE.

SORT MATTAB.

LOOP AT MATTAB.

WRITE : /1 MATTAB-MATNR COLOR 2,

MATTAB-VGBEL1 COLOR 2,

MATTAB-LTEXT3 COLOR 2.

ENDLOOP.

ELSE.

WRITE : /1 'No materials missing.'.

ENDIF.

*

  • WRITE MISSING BATCHES

DESCRIBE TABLE BATCHTAB LINES LINENO.

IF LINENO > 0.

WRITE : /1 'Missing material/plants/batch.' COLOR 4 , LINENO.

ULINE.

SORT BATCHTAB.

LOOP AT BATCHTAB.

WRITE : /1 BATCHTAB-MATNR COLOR 2,

BATCHTAB-VSTEL1 COLOR 2,

BATCHTAB-CHARG COLOR 2,

BATCHTAB-VGBEL1 COLOR 2,

BATCHTAB-LTEXT3 COLOR 2.

ENDLOOP.

ELSE.

WRITE : /1 'No material/plant/batch missing.'.

ENDIF.

*

  • WRITE MISSING BATCHES

DELETE CUSTTAB WHERE KUNNR EQ SPACE.

DESCRIBE TABLE CUSTTAB LINES LINENO.

IF LINENO > 0.

WRITE : /1 'Missing Customers.' COLOR 4.

ULINE.

SORT CUSTTAB.

LOOP AT CUSTTAB.

WRITE : /1 CUSTTAB-KUNNR COLOR 2,

CUSTTAB-VGBEL1 COLOR 2,

CUSTTAB-LTEXT3 COLOR 2.

ENDLOOP.

ELSE.

WRITE : /1 'No Customer missing.'.

ENDIF.

  • NEW VALIDATION 20/10/2001 ADDITION END

Edited by: Asis Mohanty on Feb 13, 2008 7:16 AM

2 REPLIES 2

Former Member
0 Kudos

Hi,

i thing this code will work.

REPORT xyzzzzzzz.

*REPORT ZDEL_FILE_CREATE_IN_APPLI_SER line-size 400.

*

  • NEW TABLES 20/10/2001 ADDITION START

TABLES : T001W,

MARA,

MCHA,

KNA1.

*

DATA : BEGIN OF ITAB OCCURS 1,

VKORG LIKE VBAK-VKORG , "SALES ORGANIZATION

VTWEG LIKE VBAK-VTWEG, "DISTRIBUTION CHANNEL

DIV(9), "Division Code

VSTEL LIKE LIKP-VSTEL, "SHIPPING POINT EG: CF01

DATBI(19), "SELECTION DATE

VGBEL LIKE LIPS-VGBEL, "SALES ORDER "d

KUNNR(10), "SAP CUSTOMER

MATNR LIKE LIPS-MATNR, "MATL NO "d

CHARG LIKE LIPS-CHARG, "BATCH NO "d

LFIMG(13), "DELIVERY QTY "d

free_qty(13), "not used in SAP "d

LTEXT1(9), "PACKING NO

LTEXT2(9), "ALLOCATION NO

LTEXT3(9), "C&F SALES INVOICE NO "d

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER "d

VSTEL1 LIKE LIKP-VSTEL, "SHIPPING POINT EG: CF01

DATBI1(19), "SELECTION DATE

END OF ITAB.

data : begin of header_itab occurs 0,

ltext3(9),

end of header_itab.

*******add on 22.10.01

  • NEW INTERNAL TABLES 20/10/2001 ADDITION START

DATA : BEGIN OF PLANTTAB OCCURS 1,

VSTEL1 LIKE LIKP-VSTEL, "SHIPPING POINT EG: CF01

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER

LTEXT3(9), "C&F SALES INVOICE NO

END OF PLANTTAB.

*

DATA : BEGIN OF MATTAB OCCURS 1,

MATNR LIKE LIPS-MATNR, "MATL NO

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER

LTEXT3(9), "C&F SALES INVOICE NO

END OF MATTAB.

*

DATA : BEGIN OF BATCHTAB OCCURS 1,

MATNR LIKE LIPS-MATNR, "MATL NO

VSTEL1 LIKE LIKP-VSTEL, "SHIPPING POINT EG: CF01

CHARG LIKE LIPS-CHARG, "BATCH NO

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER

LTEXT3(9), "C&F SALES INVOICE NO

END OF BATCHTAB.

*

DATA : BEGIN OF CUSTTAB OCCURS 1,

KUNNR(10),

VGBEL1 LIKE LIPS-VGBEL, "SALES ORDER

LTEXT3(9), "C&F SALES INVOICE NO

END OF CUSTTAB.

*

DATA : LINENO LIKE SY-TABIX.

DATA : LINE LIKE SY-TABIX.

data :chk(1).

*

data : begin of errtab occurs 0.

include structure itab.

data : end of errtab.

  • NEW INTERNAL TABLES 20/10/2001 ADDITION END

*

parameters : fname(80) default '/usr/oldtest/salesorder.txt'

lower case.

parameters : fname_d(80) default '/usr/oldtest/errsalesorder.txt'

lower case.

parameters : fname_n(80) default '/usr/oldtest/newsalesorder.txt'

lower case.

parameters : chngfile as checkbox default 'X'.

*

at selection-screen output.

loop at screen.

if screen-name = 'FNAME' or screen-name = 'FNAME_D' or

screen-name = 'FNAME_N' or screen-name = 'CHNGFILE'.

screen-input = '0'.

modify screen.

endif.

endloop.

start-of-selection.

open dataset fname for input in text mode encoding utf-8.

*open dataset fname for input in text mode.

if sy-subrc eq 0.

do.

clear itab.

read dataset fname into itab.

if sy-subrc <> 0 .

exit.

endif.

append itab.

clear itab.

enddo.

ENDIF.

close dataset fname.

******

  • NEW VALIDATION 20/10/2001 ADDITION START

LOOP AT ITAB.

*

clear chk.

SELECT SINGLE * FROM T001W WHERE WERKS = ITAB-VSTEL1.

IF SY-SUBRC <> 0.

MOVE : ITAB-VSTEL1 TO PLANTTAB-VSTEL1,

ITAB-VGBEL1 TO PLANTTAB-VGBEL1,

ITAB-LTEXT3 TO PLANTTAB-LTEXT3.

COLLECT PLANTTAB.

CLEAR PLANTTAB.

**251001

move : 'X' to chk.

ENDIF.

*

SELECT SINGLE * FROM MARA WHERE MATNR = ITAB-MATNR.

IF SY-SUBRC <> 0.

MOVE : ITAB-MATNR TO MATTAB-MATNR,

ITAB-VGBEL1 TO MATTAB-VGBEL1,

ITAB-LTEXT3 TO MATTAB-LTEXT3.

COLLECT MATTAB.

CLEAR MATTAB.

**251001

move : 'X' to chk.

ENDIF.

*

SELECT SINGLE * FROM MCHA WHERE MATNR = ITAB-MATNR AND

WERKS = ITAB-VSTEL1 AND

CHARG = ITAB-CHARG.

IF SY-SUBRC <> 0.

MOVE : ITAB-MATNR TO BATCHTAB-MATNR,

ITAB-VSTEL1 TO BATCHTAB-VSTEL1,

ITAB-CHARG TO BATCHTAB-CHARG,

ITAB-VGBEL1 TO BATCHTAB-VGBEL1,

ITAB-LTEXT3 TO BATCHTAB-LTEXT3.

COLLECT BATCHTAB.

CLEAR BATCHTAB.

**251001

move : 'X' to chk.

ENDIF.

*

if not itab-kunnr is initial.

SELECT SINGLE * FROM KNA1 WHERE KUNNR = ITAB-KUNNR.

IF SY-SUBRC <> 0.

MOVE : ITAB-KUNNR TO CUSTTAB-KUNNR,

ITAB-VGBEL1 TO CUSTTAB-VGBEL1,

ITAB-LTEXT3 TO CUSTTAB-LTEXT3.

COLLECT CUSTTAB.

CLEAR CUSTTAB.

**251001

move : 'X' to chk.

ENDIF.

endif.

*

if chk = 'X'.

if not itab-vkorg is initial.

move itab-ltext3 to header_itab-ltext3.

append header_itab.

clear header_itab.

endif.

move-corresponding itab to errtab.

append errtab.

delete itab.

endif.

*

ENDLOOP.

*

loop at itab.

read table header_itab with key ltext3 = itab-ltext3.

if sy-subrc = 0.

move-corresponding itab to errtab.

append errtab.

delete itab.

endif.

endloop.

*

  • Deleted Records from itab.

DESCRIBE TABLE ERRTAB LINES LINE.

WRITE : 'DELETED RECORDS FROM ITAB.' COLOR 4 ,LINE .

ULINE.

*

LOOP AT ERRTAB.

WRITE : /1 ERRTAB-MATNR,

ERRTAB-CHARG,

ERRTAB-VGBEL1,

ERRTAB-VSTEL1,

ERRTAB-LTEXT3.

ENDLOOP.

open dataset fname_d for output in text mode encoding utf-8.

*open dataset fname_d for output in text mode.

loop at errtab.

transfer errtab to fname_d.

endloop.

close dataset fname_d.

*

if not chngfile is initial.

  • open dataset fname_n for output in text mode.

loop at itab.

transfer itab to fname_n.

endloop.

close dataset fname_n.

endif.

  • WRITE MISSING PLANTS

DESCRIBE TABLE PLANTTAB LINES LINENO.

IF LINENO > 0.

WRITE : /1 'Missing plants.' COLOR 4.

ULINE.

SORT PLANTTAB.

LOOP AT PLANTTAB.

WRITE : /1 PLANTTAB-VSTEL1 COLOR 2,

PLANTTAB-VGBEL1 COLOR 2,

PLANTTAB-LTEXT3 COLOR 2.

ENDLOOP.

ELSE.

WRITE : /1 'No plants missing.'.

ENDIF.

*

*

  • WRITE MISSING MATERIALS

DESCRIBE TABLE MATTAB LINES LINENO.

IF LINENO > 0.

WRITE : /1 'Missing materials.' COLOR 4.

ULINE.

SORT MATTAB.

LOOP AT MATTAB.

WRITE : /1 MATTAB-MATNR COLOR 2,

MATTAB-VGBEL1 COLOR 2,

MATTAB-LTEXT3 COLOR 2.

ENDLOOP.

ELSE.

WRITE : /1 'No materials missing.'.

ENDIF.

*

  • WRITE MISSING BATCHES

DESCRIBE TABLE BATCHTAB LINES LINENO.

IF LINENO > 0.

WRITE : /1 'Missing material/plants/batch.' COLOR 4 , LINENO.

ULINE.

SORT BATCHTAB.

LOOP AT BATCHTAB.

WRITE : /1 BATCHTAB-MATNR COLOR 2,

BATCHTAB-VSTEL1 COLOR 2,

BATCHTAB-CHARG COLOR 2,

BATCHTAB-VGBEL1 COLOR 2,

BATCHTAB-LTEXT3 COLOR 2.

ENDLOOP.

ELSE.

WRITE : /1 'No material/plant/batch missing.'.

ENDIF.

*

  • WRITE MISSING BATCHES

DELETE CUSTTAB WHERE KUNNR EQ SPACE.

DESCRIBE TABLE CUSTTAB LINES LINENO.

IF LINENO > 0.

WRITE : /1 'Missing Customers.' COLOR 4.

ULINE.

SORT CUSTTAB.

LOOP AT CUSTTAB.

WRITE : /1 CUSTTAB-KUNNR COLOR 2,

CUSTTAB-VGBEL1 COLOR 2,

CUSTTAB-LTEXT3 COLOR 2.

ENDLOOP.

ELSE.

WRITE : /1 'No Customer missing.'.

ENDIF.

  • NEW VALIDATION 20/10/2001 ADDITION END

Edited by: Asis Mohanty on Feb 13, 2008 7:16 AM

Former Member
0 Kudos

**********To put data in App ser

open dataset dsn for output in binary mode.

loop at itab.

transfer itab-field to dsn.

endloop.

close dataset dsn.

clear itab.

refresh itab.

**********To get data from App ser

open dataset dsn for input in binary mode.

do.

read dataset dsn into itab-field.

if sy-subrc = 0.

append itab.

else.

exit.

endif.

enddo.

Reward if useful