Sie sind auf Seite 1von 11

Developing Material Report Using Standard BAPIs

- First Go to SW01 and give the Suitable BO for u r requirement

- Then select the suitable FM for our Requirement fallow as below


Developing Custom BAPIs

- Create a Structure for Importing Parameter with Name ZBAPI

- Create another Structure for Exporting Parameters with name ZBAPI as below
- Create a Function module and make it as a Remote Enable with Name ZBAPI
Select the Radio Button Remote Enabled Module
- Create a Business Object in SWO1 TCODE with Name ZBUS___
- It asks object type, object name, name, description, Program name with _PRG

- Then it asks package TR# give it all. Then enter

Expand the methods


Then it asks Function module name as below
- Then Click on Next Button it gives as below

- Again Click on Next Button it gives a Pop-Up as Below

- Then Click on YES

- The Method will be added in to u r Business Objects


- Click on Back Button
- Again click as below

- Now business object is released and it can be visible in non-sap systems


- Mapping from non-sap fields to BAPI fields will be done bye the non-sap
Consultants
- The remote connection between SAP and non-sap server will be done by BASIS
consultant
- Our role is to develop a BAPI and give it to the NON-SAP consultant
Uploading Data using BAPIS

TYPES: BEGIN OF TY_FILE,


MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MBRSH,
MBRSH TYPE MARA-MTART,
MEINS TYPE MARA-MEINS,
SPRAS TYPE MAKT-SPRAS,
MAKTX TYPE MAKT-MAKTX,
END OF TY_FILE.

DATA : I_FILE TYPE TABLE OF TY_FILE.


DATA : WA_FILE TYPE TY_FILE.

***********************************BAPI DECLARATIONS

DATA : HEADDATA TYPE BAPIMATHEAD.


DATA : RETURN TYPE BAPIRET2.
DATA : CLIENTDATA TYPE BAPI_MARA.
DATA : CLIENTDATAX TYPE BAPI_MARAX.
DATA : I_MAKT TYPE TABLE OF BAPI_MAKT.
DATA : WA_MAKT TYPE BAPI_MAKT.
DATA : I_MESSAGES TYPE TABLE OF BAPI_MATRETURN2.
DATA : WA_MESSAGES TYPE BAPI_MATRETURN2.

*******************************************UPLOAD DATA FROM FLAT FILE


CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\Documents and Settings\eccadm\Desktop\mate
rial.txt'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_FILE.

**********************************************CALL BAPI FOR EACH RECORD

LOOP AT I_FILE INTO WA_FILE.

HEADDATA-MATERIAL = WA_FILE-MATNR.
HEADDATA-IND_SECTOR = WA_FILE-MBRSH.
HEADDATA-MATL_TYPE = WA_FILE-MTART.
HEADDATA-BASIC_VIEW = 'X'.

CLIENTDATA-BASE_UOM = WA_FILE-MEINS.
CLIENTDATAX-BASE_UOM = 'X'.

WA_MAKT-LANGU = 'EN'.
WA_MAKT-MATL_DESC = WA_FILE-MAKTX.

APPEND WA_MAKT TO I_MAKT.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'


EXPORTING
HEADDATA = HEADDATA
CLIENTDATA = CLIENTDATA
CLIENTDATAX = CLIENTDATAX
IMPORTING
RETURN = RETURN
TABLES
MATERIALDESCRIPTION = I_MAKT
RETURNMESSAGES = I_MESSAGES.

IF RETURN-TYPE = 'S'.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'


EXPORTING
WAIT = 'X'.

READ TABLE I_MESSAGES INTO WA_MESSAGES WITH KEY TYPE = 'S'.


WRITE : / WA_MESSAGES-MESSAGE.

ELSEIF RETURN-TYPE = 'E'.

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.


LOOP AT I_MESSAGES INTO WA_MESSAGES WHERE TYPE = 'E'.
WRITE : / WA_MESSAGES-MESSAGE.

ENDLOOP.
ENDIF.

CLEAR HEADDATA.
CLEAR CLIENTDATA.
CLEAR CLIENTDATAX.
CLEAR WA_MAKT.
REFRESH I_MAKT.
CLEAR RETURN.
CLEAR WA_MESSAGES.
REFRESH I_MESSAGES.
CLEAR WA_FILE.

ENDLOOP.

Das könnte Ihnen auch gefallen