2007 Apr 19 6:55 AM
can any body send pgm for material master and customer master
for downloading data from sap to and generate as flat file.
can any body send pgm for material master and customer master
for downloading data from sap to and generate as flat file.
2007 Apr 19 7:00 AM
Hi,
Customer Master:
report ZSDBDCP_CUSTOMER_VD01
no standard page heading
line-size 255.
----
*Includes
----
include zbdcrecx1.
----
*Internal Tables
----
*-- Internal Table to hold customer data
Data : begin of it_customer occurs 0,
f1(4), " Sales Org.
f2(2), " Distribution Channel
f3(2), " Division
f4(4), " Acct Group
f5(30), " Tittle
f6(40), " Name1
f7(40), " Name2
f8(20), " Search Term 1
f9(20), " Search Term 2
f10(10), " Postal Code
f11(40), " City
f12(3), " Country
f13(2), " Language
f14(2), " Shipping Condition
end of it_customer.
----
*Start of selection
----
start-of-selection.
Clear it_customer.
Refresh it_customer.
*To Upload Flat file
CALL FUNCTION 'UPLOAD'
EXPORTING
filename = 'C:\WINDOWS\Desktop\cst_vd01.txt'
filetype = 'DAT'
TABLES
data_tab = it_customer
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
WRITE : / 'Upload of Customer Ext. from ', P_FNAME, ' on ', SY-DATUM.
perform open_group.
OPEN DATASET P_FNAME FOR INPUT IN TEXT MODE.
if sy-subrc ne 0.
write : / 'File could not be uploaded.. Check file name.'.
stop.
endif.
CLEAR : IT_CUSTOMER[], IT_CUSTOMER.
DO.
READ DATASET P_FNAME INTO V_STR.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
write v_str.
translate v_str using '#/'.
SPLIT V_STR AT ',' INTO IT_CUSTOMER-F1 IT_CUSTOMER-F2 IT_CUSTOMER-F3
IT_CUSTOMER-F4 IT_CUSTOMER-F5 IT_CUSTOMER-F6
IT_CUSTOMER-F7 IT_CUSTOMER-F8 IT_CUSTOMER-F9
IT_CUSTOMER-F10
IT_CUSTOMER-F11 IT_CUSTOMER-F12
IT_CUSTOMER-F13 IT_CUSTOMER-F14.
APPEND IT_CUSTOMER.
CLEAR IT_CUSTOMER.
ENDDO.
IF IT_CUSTOMER[] IS INITIAL.
WRITE : / 'No data found to upload'.
STOP.
ENDIF.
loop at it_customer.
perform bdc_dynpro using 'SAPMF02D' '0107'.
perform bdc_field using 'BDC_CURSOR'
'USE_ZAV'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02D-VKORG'
it_customer-f1.
perform bdc_field using 'RF02D-VTWEG'
it_customer-f2.
perform bdc_field using 'RF02D-SPART'
it_customer-f3.
perform bdc_field using 'RF02D-KTOKD'
it_customer-f4.
perform bdc_field using 'RF02D-REF_KUNNR'
''.
perform bdc_field using 'RF02D-REF_VKORG'
''.
perform bdc_field using 'RF02D-REF_VTWEG'
''.
perform bdc_field using 'RF02D-REF_SPART'
''.
perform bdc_field using 'USE_ZAV'
'X'.
perform bdc_dynpro using 'SAPMF02D' '0111'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'BDC_CURSOR'
'ADDR1_DATA-POST_CODE1'.
perform bdc_field using 'SZA1_D0100-TITLE_MEDI'
it_customer-f5.
perform bdc_field using 'ADDR1_DATA-NAME1'
it_customer-f6.
perform bdc_field using 'ADDR1_DATA-NAME2'
it_customer-f7.
perform bdc_field using 'ADDR1_DATA-SORT1'
it_customer-f8.
perform bdc_field using 'ADDR1_DATA-SORT2'
it_customer-f9.
perform bdc_field using 'ADDR1_DATA-POST_CODE1'
it_customer-f10.
perform bdc_field using 'ADDR1_DATA-CITY1'
it_customer-f11.
perform bdc_field using 'ADDR1_DATA-COUNTRY'
it_customer-f12.
perform bdc_field using 'ADDR1_DATA-LANGU'
it_customer-f13.
perform bdc_dynpro using 'SAPMF02D' '0120'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0125'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-NIELS'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0340'.
perform bdc_field using 'BDC_CURSOR'
'KNVA-ABLAD(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0370'.
perform bdc_field using 'BDC_CURSOR'
'KNEX-LNDEX(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-CIVVE'
'X'.
perform bdc_dynpro using 'SAPMF02D' '0360'.
perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0310'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-BEGRU'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0315'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-ANTLF'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-KZAZU'
'X'.
perform bdc_field using 'KNVV-VSBED'
it_customer-f14.
perform bdc_field using 'KNVV-ANTLF'
''.
perform bdc_dynpro using 'SAPMF02D' '0324'.
perform bdc_field using 'BDC_CURSOR'
'KNVP-PARVW(01)'.
perform bdc_field using 'BDC_OKCODE'
'=UPDA'.
*--To call Transaction
perform bdc_transaction using 'VD01'.
endloop.
perform close_group.
Material Master:
REPORT zmm_mat_master_non_stock
NO STANDARD PAGE HEADING
LINE-SIZE 255.
Standard Include for Selection Screen
INCLUDE bdcrecx1.
Internal Table for Upload Data
DATA: BEGIN OF i_mat OCCURS 0,
mbrsh(001), " Industry Sector
mtart(004), " Material Type
Views
Organization Levels
werks(004), " Plant
Basic Data1 View
maktx(040), " Material Description
meins(003), " Unit of Measure
matkl(009), " Material Group
MTPOS_MARA(004), " Gen Item Category
Purchasing
ekgrp(003), " Purchasing Group
END OF i_mat.
Data Variables & Constants
CONSTANTS : c_x VALUE 'X'. " Flag
Parameters
PARAMETERS: p_file LIKE ibipparms-path. " Filename
At selection-screen on Value Request for file Name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
Get the F4 Values for the File
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
Start of Selection
START-OF-SELECTION.
Open the BDC Session
PERFORM open_group.
Upload the File into internal Table
CALL FUNCTION 'UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = i_mat
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 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.
ENDIF.
Upload the Data from Internal Table
LOOP AT i_mat.
Basic Screen
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RMMG1-MBRSH'
'C'."i_mat-mbrsh.
PERFORM bdc_field USING 'RMMG1-MTART'
'NLAG'."i_mat-mtart.
Views Selection
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(08)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'
c_x."i_mat-kzsel_01.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(02)'
c_x."i_mat-kzsel_02.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(08)'
c_x."i_mat-kzsel_08.
Organization Levels
PERFORM bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'RMMG1-WERKS'
'2000'."i_mat-werks.
Basic data1 View
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
i_mat-maktx.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-MTPOS_MARA'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'."i_mat-meins.
PERFORM bdc_field USING 'MARA-MATKL'
i_mat-matkl.
PERFORM bdc_field USING 'MARA-MTPOS_MARA'
'NLAG'."i_mat-mtpos_mara.
Basic data2 View
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
Purchasing View
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'MARC-EKGRP'
i_mat-ekgrp.
Call The Transaction
PERFORM bdc_transaction USING 'MM01'.
ENDLOOP.
Close the BDC Session
PERFORM close_group.
reward if useful
regards,
Anji
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |