02-08-2008 7:32 AM
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.
02-08-2008 7:35 AM
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
02-08-2008 7:35 AM
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
02-13-2008 9:20 AM
**********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