hi gurus,
tell me how we can extend matnr in a plant using bdc.
plz give me also tcode that which tcode are used for it recording
also provide programm codes
this is my codes plz check it and tell me where i am wrong.
help me
REPORT zmatrial_change
NO STANDARD PAGE HEADING LINE-SIZE 255.
DATA: BEGIN OF wa_data,
matnr TYPE bdc_fval,
werks TYPE bdc_fval,
lgort TYPE bdc_fval,
END OF wa_data.
DATA: BEGIN OF wa_result,
matnr TYPE bdc_fval,
werks TYPE bdc_fval,
lgort TYPE bdc_fval,
mess_text(100),
end of wa_result.
data: it_result LIKE standard table of wa_result.
DATA: it_data LIKE standard TABLE OF wa_data.
DATA: it_bdc TYPE TABLE OF bdcdata,
wa_bdc LIKE LINE OF it_bdc.
DATA: it_messtab TYPE TABLE OF bdcmsgcoll,
wa_messtab LIKE LINE OF it_messtab.
DATA: v_file TYPE string.
DATA: message TYPE string.
PARAMETERS: p_file LIKE rlgrap-filename OBLIGATORY.
*********************************************************************
AT SELECTION-SCREEN *
*********************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM get_file USING p_file.
*********************************************************************
S T A R T O F S E L E C T I O N *
*********************************************************************
START-OF-SELECTION.
v_file = p_file.
*uploading flat file into internal table
PERFORM upload_file USING v_file." CHANGING it_data.
PERFORM bdc.
perform write_message.
&----
*& Form bdc
&----
text
----
FORM bdc.
LOOP AT it_data INTO wa_data.
REFRESH it_bdc.
CLEAR it_bdc.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RMMG1-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE' 'AUSW'.
PERFORM bdc_field USING 'RMMG1-MATNR' wa_data-matnr..
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'MSICHTAUSW-DYTXT(17)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTR'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(16)' wa_data-kzsel.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(17)' wa_data-kzsel.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0080' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RMMG1-LGORT'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTR'.
PERFORM bdc_field USING 'RMMG1-WERKS' wa_data-werks.
PERFORM bdc_field USING 'RMMG1-LGORT' wa_data-lgort.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000' 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BDC_CURSOR' 'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX' wa_data-maktx.
PERFORM bdc_field USING 'MARA-IPRKZ' wa_data-iprkz.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000' 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BDC_CURSOR' 'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX' wa_data-maktx1.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0300' 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=YES'.
CALL TRANSACTION 'MM02' USING it_bdc
MODE 'N'
MESSAGES INTO it_messtab.
ENDLOOP.
ENDFORM. "bdc
&----
*& Form get_file
&----
text
----
-->P_PA_FILE text
----
FORM get_file USING p_file.
*V_FILE = P_FILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = syst-repid
field_name = 'P_FILE'
CHANGING
file_name = p_file.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " get_file
&----
*& Form upload_file
&----
text
----
-->P_V_FILE text
<--P_IT_DATA text
----
FORM upload_file USING p_file.
CHANGING it_data.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = it_data.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " upload_file
----
FORM BDC_DYNPRO *
----
........ *
----
--> PROGRAM *
--> DYNPRO *
----
FORM bdc_dynpro USING program TYPE bdc_prog
dynpro TYPE bdc_dynr
dynbegin TYPE bdc_start.
wa_bdc-program = program.
wa_bdc-dynpro = dynpro.
wa_bdc-dynbegin = dynbegin.
APPEND wa_bdc TO it_bdc.
CLEAR wa_bdc.
ENDFORM. "BDC_DYNPRO
----
FORM fnam fval *
----
........ *
----
FORM bdc_field USING fnam TYPE fnam_____4
fval TYPE bdc_fval.
wa_bdc-fnam = fnam.
wa_bdc-fval = fval.
APPEND wa_bdc TO it_bdc.
CLEAR wa_bdc.
ENDFORM. "BDC_FIELD
form write_message.
loop at it_messtab into wa_messtab.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = wa_messtab-MSGID
LANG = 'EN'
NO = wa_messtab-MSGNR
V1 = wa_messtab-MSGV1
V2 = wa_messtab-MSGV2
V3 = wa_messtab-MSGV3
V4 = wa_messtab-MSGV4
IMPORTING
MSG = message.
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
.
IF sy-subrc = 0.
CASE wa_messtab-msgtyp.
WHEN 'S'.
WRITE:/ message.
CLEAR message.
WHEN 'E'.
write:/ message.
endcase.
ENDIF.
endloop.
endform.