Go on link..

link us with ...

Showing posts with label MM Reports. Show all posts
Showing posts with label MM Reports. Show all posts

Friday, April 29, 2011

Free Tutorial of SAP Materials Management





SAP Materials Management
Materials Management
ØOrganization Levels
ØMaterial Masters
ØVendor Master
ØInfo Records
ØPurchasing
ØMaterial Movements
ØMaterial documents
ØStock Types
ØLogistics Invoice Verification



Organization Levels
ØClient
A Client is a self-contained unit in an R/3 System. In other words a client is a corporate group.
General material data applicable to the entire company is stored at client level. I.e, Material group, Base unit of measure, Material descriptions, Conversion factors for alternative units of measure, etc.
ØCompany Code
Smallest organizational unit for which a complete self-contained set of accounts can be drawn up for purposes of external reporting. I.e, Balance sheet & Profit-Loss account.
Plant & storage Location are assigned to the Company code.
ØPlant
Plant is an organizational unit which subdivides a enterprise based on its functioning. I.e, According to production, procurement, maintenance, and materials planning aspects.
Plant is a place where either materials are produced or goods and services provided.
Inventory Valuation is always done at Plant level.
Plants are assigned to Business area in Financial Accounting.




The SAP R/3 Procurement business process uses the following R/3 organizational elements:
uCompany code
uPlant
uStorage location
uPurchasing organization
uPurchasing group

A plant is an organizational unit within a company. A plant produces goods, renders services or makes goods available for distribution.
A plant can be one of the following types of locations:
uManufacturing facility
uWarehouse distribution centre
uRegional sales office
uCorporate headquarters

Storage locations are organizational units that allow the differentiation of material stocks within a plant.

Purchasing Organization



Purchasing Organizations and Plants



Important master data in the Procurement process includes:
uMaterial Master
uVendor Master
uPurchasing Information Records

Material Master
ØMaterial master contains information on all the materials that a company procures, produces, stores, and sells.
ØIt is the company's central source for retrieving material-specific data. This information is stored in individual material master records.
ØEach material is given a unique material no. This number may be given by the system or keyed in by the user as per decision of the company.
ØAll materials are classified according to the industry sector and the material type.
ØIndustry types are like Chemical Industry, Mechanical Engineering, Pharmaceuticals, Media Industry, etc.
ØMaterial types can be like, Raw materials (ROH), Finished goods (FERT), Packing materials (VERP), Spares (ERSA), etc.
ØThe Material type & Industry sector together decide what screen fields are to be displayed for a material.
ØThe screen fields are stored in various views in a material master. I.e, Basic data 1 & 2, Purchasing, Sales, MRP, General Plant data 1 & 2, Accounting, etc.
ØEach of the views contains specific information, I.e, Basic Data 1 contains information on Material Description, Units of Measure, etc. Accounting contains information like Price Control, Valuation Control, Standard Price, Unit Price, etc.

The material master contains all data required to define and manage material. It integrates data from engineering, manufacturing, sales and distribution, purchasing, accounting, and other departments.
The material master is used as a source of data for purchase order processing throughout the procurement cycle.

General data
Purchasing data
Accounting data
Sales data
Manufacturing data
(Etc.)

The material master contains information about the materials an enterprise buys, produces, stores, and sells
Information is stored in a database that is used as a central repository for material data
Material data is used throughout the R/3 System. Applications related to Procurement include:
u
Purchasing
u
Inventory Management
u
Invoice Verification
u
MRP

Material Master Data

Material types group materials with the same basic attributes.
Material type information determines:
uWhich departmental views are maintained.
uWhether changes in material quantities are updated.
uWhether internal or external procurement is allowed.
uWhich general ledger accounts are updated (e.g., inventory account).

Organizational Levels

Material master information is organized hierarchically according to organizational level. Levels affecting materials management include:
uClient
uPlant
uStorage Location
Organizing materials hierarchically allows easy management of information across an enterprise and prevents redundant storage of material data

Material Master Primary Views


View Selection Screen



Valuation Area




Material Valuation Procedure





General Concepts
Material valuation determines and records the
value of stock material.
Unit price, stock quantity and total value are maintained in the material master.
Valuation:
uLinks Materials Management with Financial Accounting by updating the General Ledger
uOccurs automatically whenever a goods movement
transaction (quantity change) or invoice is posted
uCan be performed manually by:
lChanging standard or moving average prices
lPosting subsequent debits and credits in invoice verification


Processes Affecting Valuation



Materials are valuated using two types of price control:
uStandard price
uMoving average price
Standard price requires that all postings be carried out at one price for a set period of time. All variances are posted to price difference accounts.
Moving average price requires that materials be valuated at goods receipt value. Moving average prices are automatically adjusted in the material master when variances occur.
Price control should be set in the material master (accounting view) when a material is created.

Setting Price Control


Valuation Class


SAP R/3 Master Data

Thursday, December 30, 2010

MASTER MATERAIL DETAILS

*&---------------------------------------------------------------------*
*& Report ZVVF_MR_MAT_DETAIL *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

REPORT ZVVF_MR_MAT_DETAIL .

TABLES : MARA,MAKT,MARC.

TYPE-POOLS slis.

DATA : BEGIN OF IT_MAIN OCCURS 0,
MATNR LIKE MARA-MATNR,
MAKTX LIKE MAKT-MAKTX,
WERKS LIKE MARC-WERKS,
mtart like mara-mtart,
matkl like mara-matkl,
meins like mara-meins,
W_TDNAME LIKE STXH-TDNAME,
W_DESC(255) TYPE C,
W_DESC1(125) TYPE C,
W_DESC2(125) TYPE C,
W_DESC3(125) TYPE C,

END OF IT_MAIN.
DATA : WS_TDID LIKE STXH-TDID.
data : LW_OUTLEN TYPE I.
*DATA : W_MATNR(10) TYPE C.
DATA : BEGIN OF ST_LINE OCCURS 0,
TDFORMAT LIKE TLINE-TDFORMAT,
TDLINE LIKE TLINE-TDLINE,
END OF ST_LINE.
DATA : W_S TYPE I.

**---------------------------------------------------------------------*
* Constants Begin with C_
**---------------------------------------------------------------------*

CONSTANTS: st_formname_top_of_page TYPE slis_formname
VALUE 'TOP_OF_PAGE-ALV'.
*------------------------------------------------------------------------

**---------------------------------------------------------------------*
* Data Begin with W_
**---------------------------------------------------------------------*

*-------- Declarations for ALV Grid.

DATA: it_st_list_top_of_page TYPE slis_t_listheader,
it_st_fieldcat TYPE slis_t_fieldcat_alv,
it_st_events TYPE slis_t_event,
st_layout TYPE slis_layout_alv,
s_status TYPE slis_formname VALUE 'STANDARD_ST01',
s_user_command TYPE slis_formname VALUE 'USER_COMMAND-ALV',
s_repid LIKE sy-repid,
s_save(1) TYPE c,
s_variant LIKE disvariant,
code LIKE disvariant-handle.


SELECTION-SCREEN BEGIN OF BLOCK MR1 WITH FRAME TITLE TEXT-001.

SELECTION-SCREEN : SKIP 1.

PARAMETERS : PR_WERKS LIKE MARC-WERKS OBLIGATORY.
SELECT-OPTIONS : SO_MATNR FOR MARA-MATNR,
so_mtart for mara-mtart,
so_matkl for mara-matkl.

SELECTION-SCREEN END OF BLOCK MR1.
**---------------------------------------------------------------------*
* Initialisation
**---------------------------------------------------------------------*

INITIALIZATION.
s_repid = sy-repid.
s_save = 'A'.
PERFORM eventtab_build USING it_st_events[].
PERFORM variant_init.



************************************************************************
* S T A R T O F S E L E C T I O N
************************************************************************
START-OF-SELECTION.

PERFORM POPULATE_DATA.
PERFORM comment_build USING it_st_list_top_of_page[]. "dISPLAY hEADING IN ALV
PERFORM fieldcat USING it_st_fieldcat[]. "PUT DATA IN ALV
PERFORM layout_build USING st_layout.
PERFORM reuse_alv_list_display.

*&--------------------------------------------------------------------*
*& Form POPULATE_DATA
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM POPULATE_DATA.

SELECT a~MATNR a~WERKS b~mtart b~matkl b~meins
INTO CORRESPONDING FIELDS
OF TABLE IT_MAIN
FROM MARC as a inner join mara as b
on a~matnr = b~matnr
WHERE
a~MATNR IN SO_MATNR AND
a~WERKS = PR_WERKS and
mtart in so_mtart and
b~matkl in so_matkl.
LOOP AT IT_MAIN.
SELECT SINGLE MAKTX INTO IT_MAIN-MAKTX FROM MAKT WHERE MATNR = IT_MAIN-MATNR.


IT_MAIN-W_TDNAME = IT_MAIN-MATNR.
W_S = STRLEN( IT_MAIN-W_TDNAME ).

W_S = 18 - W_S.
DO W_S TIMES.
CONCATENATE '0' IT_MAIN-W_TDNAME INTO IT_MAIN-W_TDNAME.
ENDDO.

select single tdid into ws_tdid from stxh
where TDOBJECT = 'MATERIAL' AND TDID = 'BEST' AND TDNAME = IT_MAIN-W_TDNAME.
IF SY-SUBRC = 0.
IF WS_TDID = 'BEST'.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
id = 'BEST'
language = SY-LANGU
name = IT_MAIN-W_TDNAME
object = 'MATERIAL'
TABLES
lines = ST_LINE
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


LOOP AT ST_LINE.
CONCATENATE IT_MAIN-W_DESC ST_LINE-TDLINE INTO IT_MAIN-W_DESC.
ENDLOOP.
ENDIF.
ENDIF.
LW_OUTLEN = 125.
CALL FUNCTION 'RKD_WORD_WRAP'
EXPORTING
textline = IT_MAIN-W_DESC
* DELIMITER = ' '
OUTPUTLEN = LW_OUTLEN
IMPORTING
OUT_LINE1 = IT_MAIN-W_DESC1
OUT_LINE2 = IT_MAIN-W_DESC2
OUT_LINE3 = IT_MAIN-W_DESC3
* TABLES
* OUT_LINES =
EXCEPTIONS
OUTPUTLEN_TOO_LARGE = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SHIFT IT_MAIN-W_TDNAME LEFT DELETING LEADING '0'.
MODIFY IT_MAIN.
ENDLOOP.
ENDFORM. "POPULATE_DATA


*&---------------------------------------------------------------------*
*& Form COMMENT_BUILD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM comment_build USING p_it_st_list_top_of_page TYPE slis_t_listheader.

DATA: ls_line TYPE slis_listheader,
mix_date(130) type c,
mix(130) type c,
head_label(130) type c value 'MATERIAL MASTER REPORT'.

REFRESH p_it_st_list_top_of_page.
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = head_label.
APPEND ls_line TO p_it_st_list_top_of_page.

*----- Display Vendor

concatenate 'Plant :' ' ' pr_werks into mix SEPARATED BY SPACE.
ls_line-typ = 'S'.
ls_line-info = mix.
APPEND ls_line TO p_it_st_list_top_of_page.

concatenate 'Material :' ' ' so_matnr-low ' ' so_matnr-high into mix SEPARATED BY SPACE.
ls_line-typ = 'S'.
ls_line-info = mix.
APPEND ls_line TO p_it_st_list_top_of_page.


clear mix.
concatenate 'Material Type :' ' ' so_mtart-low ' ' so_mtart-high into mix SEPARATED BY SPACE.
ls_line-typ = 'S'.
ls_line-info = mix.
APPEND ls_line TO p_it_st_list_top_of_page.

clear mix.
concatenate 'Material Group :' ' ' so_matkl-low ' ' so_matkl-high into mix SEPARATED BY SPACE.
ls_line-typ = 'S'.
ls_line-info = mix.
APPEND ls_line TO p_it_st_list_top_of_page.

clear mix.
ENDFORM. " COMMENT_BUILD



*&--------------------------------------------------------------------*
*& Form TOP_OF_PAGE-ALV
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM top_of_page-alv.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_st_list_top_of_page.

ENDFORM. "TOP_OF_PAGE-ALV



*&---------------------------------------------------------------------*
*& Form FIELDCAT
*&---------------------------------------------------------------------*
* -->P_IT_ST_FIELDCAT[] text
*----------------------------------------------------------------------*
FORM fieldcat USING p_it_st_fieldcat TYPE slis_t_fieldcat_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv.



*SALES DOCUMENTS
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'W_TDNAME'.
ls_fieldcat-datatype = 'CHAR'.
ls_fieldcat-outputlen = 18.
ls_fieldcat-seltext_m = 'MATERIAL NO' .
* ls_fieldcat-rollname = 'BELNR'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO p_it_st_fieldcat.


CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'MAKTX'.
ls_fieldcat-datatype = 'CHAR'.
ls_fieldcat-outputlen = 40.
ls_fieldcat-seltext_m = 'MATERIAL DESCRIPTION' .
* ls_fieldcat-rollname = 'BELNR'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO p_it_st_fieldcat.

CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'W_DESC'.
ls_fieldcat-datatype = 'CHAR'.
ls_fieldcat-outputlen = 250.
ls_fieldcat-seltext_m = 'PURCHASE ORDER TEXT' .
* ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO p_it_st_fieldcat.

CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'MTART'.
ls_fieldcat-datatype = 'CHAR'.
ls_fieldcat-outputlen = 10.
ls_fieldcat-seltext_m = 'MATERIAL TYPE' .
* ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO p_it_st_fieldcat.

CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'MATKL'.
ls_fieldcat-datatype = 'CHAR'.
ls_fieldcat-outputlen = 10.
ls_fieldcat-seltext_m = 'MATERIAL GROUP' .
* ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO p_it_st_fieldcat.

CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'MEINS'.
ls_fieldcat-datatype = 'CHAR'.
ls_fieldcat-outputlen = 4.
ls_fieldcat-seltext_m = 'UNIT OF MEASURE' .
* ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO p_it_st_fieldcat.




endform.

*&---------------------------------------------------------------------*
*& Form LAYOUT_BUILD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_ST_LAYOUT text
*----------------------------------------------------------------------*
FORM layout_build USING p_st_layout TYPE slis_layout_alv.

p_st_layout-box_fieldname = 'SELK'. " Checkbox
p_st_layout-get_selinfos = 'X'.
p_st_layout-f2code = 'PICK' . " Doppelklickfunktion
p_st_layout-confirmation_prompt = 'X'. "Sicherheitsabfrage
p_st_layout-key_hotspot = 'X'. "Schlüssel als Hotspot
p_st_layout-info_fieldname = 'COL'. "Zeilenfarbe


ENDFORM. " LAYOUT_BUILD




*&---------------------------------------------------------------------*
*& Form REUSE_ALV_LIST_DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM reuse_alv_list_display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = S_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
I_BACKGROUND_ID = 'ALV_BACKGROUND'
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
IT_FIELDCAT = it_st_fieldcat[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS = IT_slis_t_specialcol_alv[]
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
I_SAVE = 'A'
* IS_VARIANT =
IT_EVENTS = IT_ST_EVENTS[]
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* I_HTML_HEIGHT_TOP =
* I_HTML_HEIGHT_END =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_main
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
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. " REUSE_ALV_LIST_DISPLAY



*&---------------------------------------------------------------------*
*& Form EVENTTAB_BUILD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_IT_ST_EVENTS[] text
*----------------------------------------------------------------------*
FORM eventtab_build USING p_st_events TYPE slis_t_event .

DATA: ls_event TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = p_st_events.

READ TABLE p_st_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE st_formname_top_of_page TO ls_event-form.
APPEND ls_event TO p_st_events.
ENDIF.



* READ TABLE p_st_events WITH KEY name = slis_ev_pf_status_set
* INTO ls_event.
*
* IF sy-subrc = 0.
* MOVE s_status TO ls_event-form.
* APPEND ls_event TO p_st_events.
* ENDIF.

ENDFORM. " EVENTTAB_BUILD



*&---------------------------------------------------------------------*
*& Form VARIANT_INIT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM variant_init .
CLEAR s_variant.
s_variant-report = s_repid.
s_variant-handle = code.

ENDFORM. " VARIANT_INIT

BDC Program for Transaction MI10

*---------------------------------------------------------------------*
* Report ZVVF_MR323_BDCMI10 *
*---------------------------------------------------------------------*
* *
* MODULE : Material Management *
* *
*---------------------------------------------------------------------*
* Objective : BDC Program for Transaction MI10.The Program will be *
* called from Module-pool Program ZVVF_MM032_PHYINV *
* when the user selects option 3)Posting Physical *
* Inventory Difference *
* Program : Update Tables (X) Download Data ( ) Outputs List ( )*
* Technical Specs No : *
* Date Created : *
* Author : *
* Location : *
* LDB : *
* *
*---------------------------------------------------------------------*
REPORT ZVVF_MR323_BDCMI10.

*---------------------------------------------------------------------*
* Structures Starts with WA_ *
*---------------------------------------------------------------------*
TYPES: BEGIN of WA_BDC,
ZLDAT(10) type c, " Count Date
BLDAT(10) type c, " Document Date
WERKS type werks_d, " Plant
LGORT type lgort_d, " Storage Location
MATNR type matnr_d, " Material
CHARG type charg_d, " Batch
ERFMG type menge_d, " Quantity
GRUND(4) type c, " Reason Movement
QUANTITY(13) TYPE C,
ERFME TYPE I_ERFME, " Unit of Entry
END of WA_BDC.

*---------------------------------------------------------------------*
* Internal Table Starts with IT_ *
*---------------------------------------------------------------------*
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: IT_MSG TYPE TABLE OF BDCMSGCOLL.
DATA: IT_BDC TYPE WA_BDC OCCURS 0 WITH HEADER LINE.

*---------------------------------------------------------------------*
* Data Starts with W_ *
*---------------------------------------------------------------------*
DATA : EXT_PERIOD TYPE TPRG-PRGBZ,
INT_PERIOD TYPE TPRG-PRGRS VALUE 1.

*---------------------------------------------------------------------*
* Constants Starts with C_ *
*---------------------------------------------------------------------*
CONSTANTS : C_GRUND LIKE ISEG-GRUND VALUE '0004'.

*---------------------------------------------------------------------*
* START OF SELECTION *
*---------------------------------------------------------------------*
START-OF-SELECTION.

CALL FUNCTION 'PERIOD_AND_DATE_CONVERT_OUTPUT'
EXPORTING
* COUNTRY = ' '
INTERNAL_DATE = SY-DATUM
INTERNAL_PERIOD = INT_PERIOD
* LANGUAGE = SYST-LANGU
* I_PERIV =
* I_WERKS =
* I_MRPPP =
IMPORTING
EXTERNAL_DATE = IT_BDC-ZLDAT
EXTERNAL_PERIOD = EXT_PERIOD
* EXTERNAL_PRINTTEXT =
* EXCEPTIONS
* DATE_INVALID = 1
* PERIODE_INVALID = 2
* OTHERS = 3
.

it_bdc-bldat = IT_BDC-ZLDAT .

import matnr to it_bdc-matnr
charg to it_bdc-charg
menge to it_bdc-erfmg
lgort to it_bdc-lgort
werks to it_bdc-werks
meins to it_bdc-erfme
FROM MEMORY ID 'MM032_MI10'.

IT_BDC-QUANTITY = IT_BDC-ERFMG.
IT_BDC-GRUND = C_GRUND.

append it_bdc.

loop at it_bdc.

perform bdc_dynpro using 'SAPMM07I' '0700'.
perform bdc_field using 'BDC_CURSOR'
'IKPF-LGORT'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RM07I-ZLDAT'
it_bdc-ZLDAT.
perform bdc_field using 'RM07I-BLDAT'
it_bdc-BLDAT.
perform bdc_field using 'IKPF-WERKS'
it_bdc-WERKS.
perform bdc_field using 'IKPF-LGORT'
it_bdc-LGORT.
perform bdc_dynpro using 'SAPMM07I' '0731'.
perform bdc_field using 'BDC_CURSOR'
'ISEG-GRUND(01)'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'ISEG-MATNR(01)'
it_bdc-MATNR.
perform bdc_field using 'ISEG-CHARG(01)'
it_bdc-CHARG.
perform bdc_field using 'ISEG-ERFMG(01)'
it_bdc-QUANTITY.
perform bdc_field using 'ISEG-GRUND(01)'
it_bdc-GRUND.
perform bdc_field using 'ISEG-ERFME(01)'
it_bdc-ERFME.

call transaction 'MI10' using BDCDATA mode 'E' update 'A'
MESSAGES INTO IT_MSG.

endloop.

*----------------------------------------------------------------------*
* FORM : Start new screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.

*----------------------------------------------------------------------*
* FORM : Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> ''.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM.

BDC Program for Transaction MB1A

*---------------------------------------------------------------------*
* Report ZVVF_MR323_BDCMB1A *
*---------------------------------------------------------------------*
* *
* MODULE : Material Management *
* *
*---------------------------------------------------------------------*
* Objective : BDC Program for Transaction MB1A.The Program will be *
* called from Module-pool Program ZVVF_MM032_PHYINV *
* when the user selects option 1)Goods Issue to Process*
* order or 2)Return from Process Order. *
* Program : Update Tables (X) Download Data ( ) Outputs List ( )*
* Technical Specs No : *
* Date Created : *
* Author : *
* Location : *
* LDB : *
* *
*---------------------------------------------------------------------*
REPORT ZVVF_MR323_BDCMB1A.

*---------------------------------------------------------------------*
* Structures Starts with WA_ *
*---------------------------------------------------------------------*
DATA: BEGIN of WA_RECORD,
BLDAT(010), "Document Date
BUDAT(010), "Posting Date
BWARTWA(003), "Movement Type
WERKS(004), "Plant
LGORT(004), "Storage Location
XFULL,
AUFNR(012), "Process Order Number
XSELK(001) VALUE 'X', "CheckBox
ERFMG(013), "Quantity
ERFME(03), "Unit Of Entry
CHARG(010), "Batch
END of WA_RECORD.

DATA : BEGIN OF WA_GR,
AUFNR TYPE AUFNR,
CHARG TYPE CHARG_D,
INSMK TYPE MENGE_D,
MEINS TYPE MEINS,
END OF WA_GR.

*---------------------------------------------------------------------*
* Internal Table Starts with IT_ *
*---------------------------------------------------------------------*
DATA: IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: IT_RECORD LIKE WA_RECORD OCCURS 0 WITH HEADER LINE.
DATA: IT_MSG TYPE TABLE OF BDCMSGCOLL.
DATA: IT_GR LIKE WA_GR OCCURS 0 WITH HEADER LINE.

*---------------------------------------------------------------------*
* Data Starts with W_ *
*---------------------------------------------------------------------*
DATA: W_DATE(10) TYPE C,
W_EXTPERIOD TYPE TPRG-PRGBZ,
W_INTPERIOD TYPE TPRG-PRGRS VALUE 1,
W_MATNR TYPE MATNR,
W_BWART TYPE BWART,
W_WERKS TYPE WERKS_D,
W_LGORT TYPE LGORT_D.

*---------------------------------------------------------------------*
* START OF SELECTION *
*---------------------------------------------------------------------*
START-OF-SELECTION.
CALL FUNCTION 'PERIOD_AND_DATE_CONVERT_OUTPUT'
EXPORTING
* COUNTRY = ' '
INTERNAL_DATE = SY-DATUM
INTERNAL_PERIOD = W_INTPERIOD
* LANGUAGE = SYST-LANGU
* I_PERIV =
* I_WERKS =
* I_MRPPP =
IMPORTING
EXTERNAL_DATE = W_DATE
EXTERNAL_PERIOD = W_EXTPERIOD
* EXTERNAL_PRINTTEXT =
* EXCEPTIONS
* DATE_INVALID = 1
* PERIODE_INVALID = 2
* OTHERS = 3
.

IMPORT IT_GR FROM MEMORY ID 'MM032_TABLE'.
IMPORT MATNR TO W_MATNR
BWART TO W_BWART
WERKS TO W_WERKS
LGORT TO W_LGORT
FROM MEMORY ID 'MM032_MI10'.
import w_mtype to w_bwart from memory id 'MM032_MB1AD'.


LOOP AT IT_GR INTO WA_GR.
WA_RECORD-BLDAT = W_DATE.
WA_RECORD-BUDAT = W_DATE.
WA_RECORD-BWARTWA = W_BWART.
WA_RECORD-WERKS = W_WERKS.
WA_RECORD-LGORT = W_LGORT.
WA_RECORD-AUFNR = WA_GR-AUFNR.
WA_RECORD-XSELK = 'X'.
WA_RECORD-ERFMG = WA_GR-INSMK.
WA_RECORD-CHARG = WA_GR-CHARG.
WA_RECORD-ERFME = WA_GR-MEINS.
APPEND WA_RECORD TO IT_RECORD.
ENDLOOP.

LOOP AT IT_RECORD.
perform bdc_dynpro using 'SAPMM07M' '0400'.
perform bdc_field using 'BDC_CURSOR'
'RM07M-LGORT'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'MKPF-BLDAT'
IT_RECORD-BLDAT.
perform bdc_field using 'MKPF-BUDAT'
IT_RECORD-BUDAT.
perform bdc_field using 'RM07M-BWARTWA'
IT_RECORD-BWARTWA.
perform bdc_field using 'RM07M-WERKS'
IT_RECORD-WERKS.
perform bdc_field using 'RM07M-LGORT'
IT_RECORD-LGORT.
perform bdc_field using 'XFULL'
'X'.
perform bdc_field using 'RM07M-WVERS2'
'X'.

perform bdc_dynpro using 'SAPMM07M' '0421'.
perform bdc_field using 'BDC_CURSOR'
'MSEG-CHARG(01)'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'MSEG-MATNR(01)'
W_MATNR.
perform bdc_field using 'MSEG-ERFMG(01)'
IT_RECORD-ERFMG.
perform bdc_field using 'MSEG-ERFME(01)'
IT_RECORD-ERFME.
perform bdc_field using 'MSEG-CHARG(01)'
IT_RECORD-CHARG.

perform bdc_dynpro using 'SAPLKACB' '0002'.
perform bdc_field using 'BDC_OKCODE'
'=ENTE'.
perform bdc_field using 'COBL-AUFNR'
IT_RECORD-AUFNR.

perform bdc_dynpro using 'SAPLKACB' '0002'.
perform bdc_field using 'BDC_OKCODE'
'=ENTE'.
perform bdc_field using 'COBL-AUFNR'
IT_RECORD-AUFNR.

call transaction 'MB1A' using IT_bdcdata mode 'E' update 'A'
messages into it_msg.

ENDLOOP.

*----------------------------------------------------------------------*
* FORM Start new screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = PROGRAM.
IT_BDCDATA-DYNPRO = DYNPRO.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM. "BDC_DYNPRO

*----------------------------------------------------------------------*
* FORM Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> ''.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = FNAM.
IT_BDCDATA-FVAL = FVAL.
APPEND IT_BDCDATA.
ENDIF.
ENDFORM. "BDC_FIELD

link us...

For Visitors

if you want to publish or Add something on ERP, SAP , SAP FUNCTIONAL, SAP ABAP then mail us along with your email-id. contain must be yours

email-id :- avinashkr_raj@yahoo.com(any email)

email-id :- avinaskr_raj.abap@blogger.com ( use only gmail)