Application Development and Automation 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: 
Read only

pgm needed

Former Member
0 Likes
319

can any body send pgm for material master and customer master

for downloading data from sap to and generate as flat file.

1 REPLY 1
Read only

Former Member
0 Likes
278

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