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

bapi's

Former Member
0 Likes
654

hi this is viswa

i want uplaod data from flat file to sap

i want code with example

i want code for java to sap interface also with example

4 REPLIES 4
Read only

Former Member
0 Likes
594

hi,

chk out the following program,to upload datas frm flatfile to sap.

find the fm "GUI_UPLOAD" in this prg which is used to upload to sap frm flatfile.

&----


*& Report Z243_KA_BD_01

*&

&----


*&

*&

&----


REPORT Z243_KA_BD_01.

TABLES : ZSALES_ORDER.

&----


DATA:OK_CODE LIKE SY-UCOMM.

DATA : BATCH(6),CALL(6) .

DATA :I TYPE I,A TYPE I.

DATA: IT_TAB LIKE TABLE OF ZSALES_ORDER WITH HEADER LINE,

WA_TAB LIKE LINE OF IT_TAB.

DATA: IT_BDCTAB LIKE TABLE OF BDCDATA WITH HEADER LINE .

DATA: IT_MESS LIKE TABLE OF BDCMSGCOLL WITH HEADER LINE,

WA_MESS LIKE LINE OF IT_MESS.

DATA: R(10) TYPE C.

&--


SELECTION-SCREEN--

SELECTION-SCREEN : BEGIN OF SCREEN 9004.

SELECT-OPTIONS MAT_NO FOR ZSALES_ORDER-MATERIAL_NO.SKIP.

SELECT-OPTIONS CUST_NO FOR ZSALES_ORDER-CUSTOMER_NO .SKIP.

PARAMETERS: UPLOADED.

SELECTION-SCREEN : END OF SCREEN 9004.

CALL SCREEN 9002.

&----


*& Module USER_COMMAND_9002 INPUT

&----


  • text

----


MODULE USER_COMMAND_9002 INPUT.

CASE OK_CODE.

WHEN 'UPLOAD'.

CALL SCREEN 9003.

WHEN 'REPORT'.

LEAVE TO LIST-PROCESSING.

WRITE :'NO OF RECORDS READ'.

DESCRIBE TABLE IT_TAB LINES A.

WRITE A.

SELECT COUNT(*) FROM ZSALES_ORDER INTO I.

SKIP.

ULINE.

WRITE: / 'NO OF RECORDS UPLOADED'. WRITE I.

ULINE.

SELECT * FROM ZSALES_ORDER INTO ZSALES_ORDER.

WRITE: / 'MATERIAL NO ', 'CUSTOMER NO','CUSTOMER MATE NO','SLAES ORGANISATION','PROCESSING ORG',' TRAN AMT'.

WRITE: / ZSALES_ORDER-MATERIAL_NO UNDER 'MATERIAL NO '.write:12 sy-vline, ZSALES_ORDER-CUSTOMER_NO UNDER 'CUSTOMER NO'.write:20 sy-vline,

ZSALES_ORDER-CUST_MAT_NO UNDER 'CUSTOMER MATE NO'.write:30 sy-vline, ZSALES_ORDER-SALE_ORG UNDER 'SLAES ORGANISATION'.write:40 sy-vline,

ZSALES_ORDER-PROCESS_DATE UNDER 'PROCESSING ORG'.write:50 sy-vline, ZSALES_ORDER-TRAN_AMT UNDER 'TRAN AMT'.write:60 sy-vline.

ENDSELECT.

SKIP.

ULINE.

WRITE: ' NO OF ERRORS RECORDS'.

DESCRIBE TABLE IT_TAB LINES A.

WRITE: A.

SET PF-STATUS SPACE.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " USER_COMMAND_9002 INPUT

&----


*& Module USER_COMMAND_9003 INPUT

&----


  • text

----


MODULE USER_COMMAND_9003 INPUT.

CLEAR OK_CODE.

IF CALL = 'X'.

CALL SELECTION-SCREEN 9004.

REFRESH IT_TAB.

SELECT * FROM ZSALES_ORDER.

CHECK MAT_NO.

IT_TAB-MATERIAL_NO = ZSALES_ORDER-MATERIAL_NO.

APPEND IT_TAB.

ENDSELECT.

PERFORM GUI_UPLOAD.

PERFORM TRAN USING 'Z243BDC'.

ELSEIF BATCH = 'X'.

CALL SELECTION-SCREEN 9004.

PERFORM GUI_UPLOAD.

PERFORM BATCH_TRANSACTION.

ENDIF.

ENDMODULE. " USER_COMMAND_9003 INPUT

&----


*& Form GUI_UPLOAD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GUI_UPLOAD .

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'C:\siva\bdcflatfile.TXT'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

TABLES

DATA_TAB = IT_TAB

.

IF SY-SUBRC <> 0.

ENDIF.

LOOP AT IT_TAB INTO WA_TAB.

PERFORM PNAME USING 'Z243_KA_BDC_01' '9001'.

PERFORM FNAME USING 'ZSALES_ORDER-MATERIAL_NO' WA_TAB-MATERIAL_NO.

PERFORM FNAME USING 'ZSALES_ORDER-CUSTOMER_NO' WA_TAB-CUSTOMER_NO.

PERFORM FNAME USING 'ZSALES_ORDER-CUST_MAT_NO' WA_TAB-CUST_MAT_NO.

PERFORM FNAME USING 'ZSALES_ORDER-SALE_ORG' WA_TAB-SALE_ORG.

PERFORM FNAME USING 'ZSALES_ORDER-PROCESS_DATE' WA_TAB-PROCESS_DATE.

PERFORM FNAME USING 'ZSALES_ORDER-TRAN_AMT' WA_TAB-TRAN_AMT.

PERFORM FNAME USING 'BDC_OKCODE' '=SAVE'.

ENDLOOP.

PERFORM PNAME USING 'Z243_KA_BDC_01' '9001'.

PERFORM FNAME USING 'BDC_OKCODE' '=EXIT'.

DESCRIBE TABLE IT_TAB LINES A.

ENDFORM. " GUI_UPLOAD

&----


*& Form PNAME

&----


  • text

----


  • -->P_0105 text

  • -->P_0106 text

----


FORM PNAME USING PRGNAME

SCRNAME.

CLEAR IT_BDCTAB.

IT_BDCTAB-PROGRAM = PRGNAME.

IT_BDCTAB-DYNPRO = SCRNAME.

IT_BDCTAB-DYNBEGIN = 'X'.

APPEND IT_BDCTAB.

ENDFORM. " PNAME

&----


*& Form FNAME

&----


  • text

----


  • -->P_0110 text

  • -->P_WA_TAB_MATERIAL_NO text

----


FORM FNAME USING FIELDNAME

FIELDVAL.

CLEAR : IT_BDCTAB.

IT_BDCTAB-FNAM = FIELDNAME.

IT_BDCTAB-FVAL = FIELDVAL.

APPEND IT_BDCTAB.

ENDFORM. " FNAME

&----


*& Form TRAN

&----


  • text

----


  • -->P_0054 text

----


FORM TRAN USING STRAN.

CALL TRANSACTION STRAN USING IT_BDCTAB

MODE 'N'

UPDATE 'S'

MESSAGES INTO IT_MESS.

ENDFORM. " TRAN

&----


*& Form BATCH_TRANSACTION

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BATCH_TRANSACTION .

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = 'SIVA'

USER = sy-uname.

IF SY-SUBRC <> 0.

ENDIF.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'Z243BDC'

TABLES

DYNPROTAB = IT_BDCTAB

.

IF SY-SUBRC <> 0.

ENDIF.

CALL FUNCTION 'BDC_CLOSE_GROUP'

.

IF SY-SUBRC <> 0.

ENDIF.

CALL TRANSACTION 'SM35'.

ENDFORM. " BATCH_TRANSACTION

&----


*& Module STATUS_9003 OUTPUT

&----


  • text

----


MODULE STATUS_9003 OUTPUT.

SET PF-STATUS 'SCREEN'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_9003 OUTPUT

Edited by: SivaKumar on Jul 8, 2008 10:22 AM

Read only

Former Member
0 Likes
594

Hi,

BAPI can be used as both Interface and Data Transfer(conversion) .

data transfer :

refer the following link

http://www.saptechnical.com/Tutorials/BAPI/CustomBAPICreation/page1.htm

rgds

Umakanth

Read only

Former Member
0 Likes
594

Hi,

BAPI and JAVA Program to Interface Two System

I am working with a client, who wish to use both SAP and P3e. The data from SAP will be send back to P3e. With respect to this I am working on field mapping betweem the 2 systems.

Develope Z Bapi using the standard BAPI and use jave program to interface these two system. We are also working on the same and for your help, please find attached the ZBAPI developed. *-- Waris

FUNCTION zbapi_project_maintain.

*"----


""Local interface:

*" IMPORTING

*" VALUE(WBS_ELEMENT) LIKE BAPI_WBS_ELEMENT-WBS_ELEMENT

*" VALUE(WBS_ELEMENT_DESCRIPTION) LIKE

*" BAPI_PROJECT_DEFINITION-DESCRIPTION

*" VALUE(WBS_ELEMENT1) LIKE BAPI_WBS_ELEMENT-WBS_ELEMENT

*" VALUE(PROJECT_DEFINITION) LIKE

*" BAPI_WBS_ELEMENT-PROJECT_DEFINITION

*" VALUE(DESCRIPTION) LIKE BAPI_PROJECT_DEFINITION-DESCRIPTION

*" VALUE(NETWORK) LIKE BAPI_NETWORK-NETWORK

*" VALUE(NETWORK1) LIKE BAPI_NETWORK-NETWORK

*" VALUE(NETWORK_TYPE) LIKE BAPI_NETWORK-NETWORK_TYPE

*" VALUE(PROFILE) LIKE BAPI_NETWORK-PROFILE

*" VALUE(ACTIVITY) LIKE BAPI_NETWORK_ACTIVITY-ACTIVITY

*" VALUE(CONTROL_KEY) LIKE BAPI_NETWORK_ACTIVITY-CONTROL_KEY

*" VALUE(ACT_DESC) LIKE BAPI_NETWORK_ACTIVITY-DESCRIPTION

*" VALUE(NETWORK_PREDECESSOR) LIKE

*" BAPI_NETWORK_RELATION-NETWORK_PREDECESSOR

*" VALUE(ACTIVITY_PREDECESSOR) LIKE

*" BAPI_NETWORK_RELATION-ACTIVITY_PREDECESSOR

*" VALUE(NETWORK_SUCCESSOR) LIKE

*" BAPI_NETWORK_RELATION-NETWORK_SUCCESSOR

*" VALUE(ACTIVITY_SUCCESSOR) LIKE

*" BAPI_NETWORK_RELATION-ACTIVITY_SUCCESSOR

*" VALUE(RELATION_TYPE) LIKE BAPI_NETWORK_RELATION-RELATION_TYPE

*" VALUE(ELEMENT) LIKE BAPI_ACT_ELEMENT-ELEMENT

*" VALUE(UP) LIKE BAPI_WBS_HIERARCHIE-UP

*" VALUE(DOWN) LIKE BAPI_WBS_HIERARCHIE-DOWN

*" VALUE(LEFT) LIKE BAPI_WBS_HIERARCHIE-LEFT

*" VALUE(RIGHT) LIKE BAPI_WBS_HIERARCHIE-RIGHT

*" VALUE(UP1) LIKE BAPI_WBS_HIERARCHIE-UP

*" VALUE(DOWN1) LIKE BAPI_WBS_HIERARCHIE-DOWN

*" VALUE(LEFT1) LIKE BAPI_WBS_HIERARCHIE-LEFT

*" VALUE(RIGHT1) LIKE BAPI_WBS_HIERARCHIE-RIGHT

*" VALUE(VPLANT) LIKE BAPI_NETWORK-PLANT

*" VALUE(VPROJ_TYPE) LIKE BAPI_WBS_ELEMENT-PROJ_TYPE

*" TABLES

*" WBS_CREATE_ERROR STRUCTURE BAPI_METH_MESSAGE OPTIONAL

*" NETWORK_CREATE_ERROR STRUCTURE BAPI_METH_MESSAGE OPTIONAL

*" WBS_HIERARCHY_ERROR STRUCTURE BAPI_METH_MESSAGE OPTIONAL

*" ACTIVITY_CREATE_ERROR STRUCTURE BAPI_METH_MESSAGE OPTIONAL

*" ACTIVITY_RELATION_ERROR STRUCTURE BAPI_METH_MESSAGE OPTIONAL

*"----


DATA : BEGIN OF itproj OCCURS 0.

INCLUDE STRUCTURE bapi_project_definition.

DATA :END OF itproj.

DATA : BEGIN OF itprojupd OCCURS 0.

INCLUDE STRUCTURE bapi_project_definition_up.

DATA :END OF itprojupd.

DATA : BEGIN OF itwbsmethod OCCURS 0.

INCLUDE STRUCTURE bapi_method_project.

DATA :END OF itwbsmethod.

DATA : BEGIN OF itwbs OCCURS 0.

INCLUDE STRUCTURE bapi_wbs_element.

DATA :END OF itwbs.

DATA : BEGIN OF itnetmethod OCCURS 0.

INCLUDE STRUCTURE bapi_method_project.

DATA :END OF itnetmethod.

DATA : BEGIN OF itnetwork OCCURS 0.

INCLUDE STRUCTURE bapi_network.

DATA :END OF itnetwork.

DATA : BEGIN OF itwbshierarchy OCCURS 0.

INCLUDE STRUCTURE bapi_wbs_hierarchie.

DATA :END OF itwbshierarchy.

DATA : BEGIN OF iterr OCCURS 0.

INCLUDE STRUCTURE bapi_meth_message .

DATA :END OF iterr.

DATA : iterr1 LIKE bapi_meth_message OCCURS 0 WITH HEADER LINE.

DATA : itemsg LIKE bapi_meth_message OCCURS 0 WITH HEADER LINE.

DATA : itemsg1 LIKE bapi_meth_message OCCURS 0 WITH HEADER LINE.

DATA : itemsg2 LIKE bapi_meth_message OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF itactivity OCCURS 0.

INCLUDE STRUCTURE bapi_network_activity.

DATA :END OF itactivity.

DATA : BEGIN OF itactmethod OCCURS 0.

INCLUDE STRUCTURE bapi_network_activity_up.

DATA :END OF itactmethod.

DATA :BEGIN OF itrelation OCCURS 0.

INCLUDE STRUCTURE bapi_network_relation.

DATA :END OF itrelation.

DATA : v_str(100) TYPE c.

DATA : v_str1(34) TYPE c.

IF NOT wbs_element IS INITIAL AND

NOT project_definition IS INITIAL.

  • AND NOT description IS INITIAL.

MOVE wbs_element TO itwbs-wbs_element.

MOVE project_definition TO itwbs-project_definition.

  • MOVE vproj_type TO itwbs-proj_type.

MOVE WBS_ELEMENT_DESCRIPTION TO itwbs-description.

IF NOT wbs_element1 IS INITIAL.

MOVE vproj_type TO itwbs-proj_type.

ELSE.

MOVE ' ' TO itwbs-proj_type.

ENDIF.

APPEND itwbs.

MOVE project_definition TO itproj-project_definition.

MOVE description to itproj-description.

APPEND itproj.

MOVE '000010' TO itwbsmethod-refnumber.

MOVE 'WBS-ELEMENT' TO itwbsmethod-objecttype.

MOVE 'CREATE' TO itwbsmethod-method.

MOVE wbs_element TO itwbsmethod-objectkey.

APPEND itwbsmethod.

MOVE '000000' TO itwbsmethod-refnumber.

MOVE ' ' TO itwbsmethod-objecttype.

MOVE 'SAVE' TO itwbsmethod-method.

MOVE ' ' TO itwbsmethod-objectkey.

APPEND itwbsmethod.

                        • create WBS Elements******************

REFRESH iterr.

CALL FUNCTION 'BAPI_PROJECT_MAINTAIN'

EXPORTING

i_project_definition = itproj

i_project_definition_upd = itprojupd

  • IMPORTING

  • RETURN =

TABLES

i_method_project = itwbsmethod

  • I_WBS_ELEMENT_TABLE_UPDATE =

i_wbs_element_table = itwbs

  • I_WBS_MILESTONE_TABLE =

  • I_WBS_MILESTONE_TABLE_UPDATE =

  • I_WBS_HIERARCHIE_TABLE = itwbshierarchy

  • i_network = itnetwork

  • I_NETWORK_UPDATE =

  • i_activity = itactivity

  • i_activity_update = itactmethod

  • I_RELATION =

  • I_RELATION_UPDATE =

e_message_table = iterr.

  • I_ACTIVITY_ELEMENT =

  • I_ACTIVITY_ELEMENT_UPDATE =

  • I_ACTIVITY_MILESTONE =

  • I_ACTIVITY_MILESTONE_UPDATE =

IF sy-subrc = 0.

ENDIF.

LOOP AT iterr.

MOVE : iterr-method to wbs_create_error-method,

iterr-object_type to wbs_create_error-OBJECT_TYPE,

iterr-internal_object_id to

wbs_create_error-INTERNAL_OBJECT_ID,

iterr-external_object_id to

wbs_create_error-EXTERNAL_OBJECT_ID,

iterr-message_id to wbs_create_error-MESSAGE_ID,

iterr-message_number to wbs_create_error-MESSAGE_NUMBER,

iterr-message_type to wbs_create_error-MESSAGE_TYPE,

iterr-message_text to wbs_create_error-MESSAGE_TEXT.

append wbs_create_error.

clear iterr.

endloop.

COMMIT WORK .

WAIT UP TO 1 SECONDS.

ENDIF. " if not wbs_element initial

                        • create network ***********

if not network is initial.

MOVE '000001' TO itnetmethod-refnumber.

MOVE 'NETWORK' TO itnetmethod-objecttype.

MOVE 'CREATE' TO itnetmethod-method.

MOVE network TO itnetmethod-objectkey.

APPEND itnetmethod.

MOVE '000000' TO itnetmethod-refnumber.

MOVE ' ' TO itnetmethod-objecttype.

MOVE 'SAVE' TO itnetmethod-method.

MOVE ' ' TO itnetmethod-objectkey.

APPEND itnetmethod.

MOVE network TO itnetwork-network.

MOVE network_type TO itnetwork-network_type.

MOVE vplant TO itnetwork-plant.

MOVE 'NEW NETWORK' TO itnetwork-short_text.

MOVE wbs_element TO itnetwork-wbs_element.

MOVE '001' TO itnetwork-mrp_controller.

MOVE project_definition TO itnetwork-project_definition.

MOVE profile TO itnetwork-profile.

APPEND itnetwork.

REFRESH itemsg.

CALL FUNCTION 'BAPI_NETWORK_MAINTAIN'

  • IMPORTING

  • RETURN =

TABLES

i_method_project = itnetmethod

i_network = itnetwork

  • I_NETWORK_UPDATE =

  • I_ACTIVITY =

  • I_ACTIVITY_UPDATE =

  • I_RELATION =

  • I_RELATION_UPDATE =

e_message_table = itemsg.

  • I_ACTIVITY_ELEMENT =

  • I_ACTIVITY_ELEMENT_UPDATE =

  • I_ACTIVITY_MILESTONE =

  • I_ACTIVITY_MILESTONE_UPDATE =

IF sy-subrc = 0.

ENDIF.

LOOP AT itemsg.

MOVE : itemsg-method to network_create_error-method,

itemsg-object_type to network_create_error-OBJECT_TYPE,

itemsg-internal_object_id to

network_create_error-INTERNAL_OBJECT_ID,

itemsg-external_object_id to

network_create_error-EXTERNAL_OBJECT_ID,

itemsg-message_id to network_create_error-MESSAGE_ID,

itemsg-message_number to

network_create_error-MESSAGE_NUMBER,

itemsg-message_type to network_create_error-MESSAGE_TYPE,

itemsg-message_text to network_create_error-MESSAGE_TEXT.

append network_create_error.

clear itemsg.

endloop.

COMMIT WORK .

WAIT UP TO 1 SECONDS.

endif. "if not network is initial.

                  • this method will decide hierarchy of WBS *******

IF NOT wbs_element1 IS INITIAL.

"AND NOT wbs_element_parent IS INITIAL.

CLEAR:itwbsmethod,itwbshierarchy,itwbs,iterr1.

REFRESH:itwbsmethod,itwbshierarchy,itwbs,iterr1.

********MAINTAIN HIERARCHY************************************

              • New WBS along with position w.r.t parent********

  • MOVE wbs_element_parent TO itwbshierarchy-wbs_element.

MOVE wbs_element TO itwbshierarchy-wbs_element.

MOVE project_definition TO itwbshierarchy-project_definition.

MOVE up TO itwbshierarchy-up.

MOVE down TO itwbshierarchy-down.

MOVE left TO itwbshierarchy-left.

MOVE right TO itwbshierarchy-right.

APPEND itwbshierarchy.

CLEAR itwbshierarchy.

*******Pass WBS elements parent with position w.r.t child**

MOVE wbs_element1 TO itwbshierarchy-wbs_element.

MOVE project_definition TO itwbshierarchy-project_definition.

MOVE up1 TO itwbshierarchy-up.

MOVE down1 TO itwbshierarchy-down.

MOVE left1 TO itwbshierarchy-left.

MOVE right1 TO itwbshierarchy-right.

APPEND itwbshierarchy.

CLEAR itwbshierarchy.

                • Method for saving and creating WBS**********

MOVE 'WBS-HIERARCHY' TO itwbsmethod-objecttype.

MOVE 'CREATE' TO itwbsmethod-method.

APPEND itwbsmethod.

CLEAR itwbsmethod.

MOVE 'SAVE' TO itwbsmethod-method.

APPEND itwbsmethod.

CLEAR itwbsmethod.

***********end method ****************

          • WBS updating it with proj_type***

  • MOVE wbs_element_parent TO itwbs-wbs_element.

MOVE wbs_element TO itwbs-wbs_element.

MOVE project_definition TO itwbs-project_definition.

MOVE WBS_ELEMENT_DESCRIPTION TO itwbs-description.

MOVE vproj_type TO itwbs-proj_type.

APPEND itwbs.

          • WBS updating it with proj_type***

CALL FUNCTION 'BAPI_PROJECT_MAINTAIN'

EXPORTING

i_project_definition = itproj

i_project_definition_upd = itprojupd

  • IMPORTING

  • RETURN =

TABLES

i_method_project = itwbsmethod

  • I_WBS_ELEMENT_TABLE_UPDATE =

i_wbs_element_table = itwbs

  • I_WBS_MILESTONE_TABLE =

  • I_WBS_MILESTONE_TABLE_UPDATE =

i_wbs_hierarchie_table = itwbshierarchy

  • I_NETWORK = itnetwork

  • I_NETWORK_UPDATE =

  • I_ACTIVITY = itactivity

  • I_ACTIVITY_UPDATE = itactmethod

  • I_RELATION =

  • I_RELATION_UPDATE =

e_message_table = iterr1.

  • I_ACTIVITY_ELEMENT =

  • I_ACTIVITY_ELEMENT_UPDATE =

  • I_ACTIVITY_MILESTONE =

  • I_ACTIVITY_MILESTONE_UPDATE =

IF sy-subrc = 0.

ENDIF.

LOOP AT iterr1.

MOVE : iterr1-method to wbs_hierarchy_error-method,

iterr1-object_type to wbs_hierarchy_error-OBJECT_TYPE,

iterr1-internal_object_id to

wbs_hierarchy_error-INTERNAL_OBJECT_ID,

iterr1-external_object_id to

wbs_hierarchy_error-EXTERNAL_OBJECT_ID,

iterr1-message_id to wbs_hierarchy_error-MESSAGE_ID,

iterr1-message_number to wbs_hierarchy_error-MESSAGE_NUMBER,

iterr1-message_type to wbs_hierarchy_error-MESSAGE_TYPE,

iterr1-message_text to wbs_hierarchy_error-MESSAGE_TEXT.

append wbs_hierarchy_error.

clear iterr1.

endloop.

COMMIT WORK .

WAIT UP TO 1 SECONDS. .

ENDIF." if not wbs_element1 initial

                                • create activity in network************

CLEAR : itactivity,itnetmethod,itemsg1,itnetwork.

REFRESH :itactivity,itnetmethod,itemsg1,itnetwork.

IF NOT network IS INITIAL.

CONCATENATE itemsg-internal_object_id activity INTO v_str.

MOVE itemsg-internal_object_id+0(12) TO itactivity-network.

ELSE.

CONCATENATE network1 activity INTO v_str.

MOVE network1 TO itactivity-network.

ENDIF.

MOVE activity TO itactivity-activity.

MOVE act_desc TO itactivity-description.

MOVE 'PS01' TO itactivity-control_key.

MOVE project_definition TO itactivity-project_definition.

MOVE wbs_element TO itactivity-wbs_element.

MOVE 'W7' TO itactivity-factory_calendar.

APPEND itactivity.

MOVE '000001' TO itnetmethod-refnumber.

MOVE 'NETWORKACTIVITY' TO itnetmethod-objecttype.

MOVE 'CREATE' TO itnetmethod-method.

MOVE v_str TO itnetmethod-objectkey.

APPEND itnetmethod.

CLEAR itnetmethod.

MOVE 'SAVE' TO itnetmethod-method.

APPEND itnetmethod.

CLEAR itnetmethod.

MOVE network1 TO itnetwork-network.

MOVE '001' TO itnetwork-mrp_controller.

APPEND itnetwork.

CALL FUNCTION 'BAPI_NETWORK_MAINTAIN'

  • IMPORTING

  • RETURN =

TABLES

i_method_project = itnetmethod

i_network = itnetwork

  • I_NETWORK_UPDATE =

i_activity = itactivity

  • I_ACTIVITY_UPDATE =

  • I_RELATION =

  • I_RELATION_UPDATE =

e_message_table = itemsg1.

  • I_ACTIVITY_ELEMENT =

  • I_ACTIVITY_ELEMENT_UPDATE =

  • I_ACTIVITY_MILESTONE =

  • I_ACTIVITY_MILESTONE_UPDATE =

IF sy-subrc = 0.

ENDIF.

LOOP AT itemsg1.

MOVE : itemsg1-method to activity_create_error-method,

itemsg1-object_type to activity_create_error-OBJECT_TYPE,

itemsg1-internal_object_id to

activity_create_error-INTERNAL_OBJECT_ID,

itemsg1-external_object_id to

activity_create_error-EXTERNAL_OBJECT_ID,

itemsg1-message_id to activity_create_error-MESSAGE_ID,

itemsg1-message_number to

activity_create_error-MESSAGE_NUMBER,

itemsg1-message_type to activity_create_error-MESSAGE_TYPE,

itemsg1-message_text to activity_create_error-MESSAGE_TEXT.

append activity_create_error.

clear itemsg1.

endloop.

COMMIT WORK .

WAIT UP TO 1 SECONDS.

                                              • create network relationship*********************

CLEAR : itnetmethod,itemsg2,itnetwork,itrelation.

REFRESH :itnetmethod,itemsg2,itnetwork,itrelation.

MOVE '000001' TO itnetmethod-refnumber.

MOVE 'NETWORKRELATION' TO itnetmethod-objecttype.

MOVE 'CREATE' TO itnetmethod-method.

CONCATENATE relation_type network_predecessor activity_predecessor

network_successor activity_successor INTO v_str1.

MOVE v_str1 TO itnetmethod-objectkey.

APPEND itnetmethod.

CLEAR itnetmethod.

MOVE 'SAVE' TO itnetmethod-method.

APPEND itnetmethod.

CLEAR itnetmethod.

MOVE network1 TO itnetwork-network.

APPEND itnetwork.

CLEAR itnetwork.

MOVE network_predecessor TO itrelation-network_predecessor.

MOVE activity_predecessor TO itrelation-activity_predecessor.

MOVE network_successor TO itrelation-network_successor.

MOVE activity_successor TO itrelation-activity_successor.

MOVE relation_type TO itrelation-relation_type.

APPEND itrelation.

CLEAR itrelation.

CALL FUNCTION 'BAPI_NETWORK_MAINTAIN'

  • IMPORTING

  • RETURN =

TABLES

i_method_project = itnetmethod

i_network = itnetwork

  • I_NETWORK_UPDATE =

  • I_ACTIVITY = itactivity

  • I_ACTIVITY_UPDATE =

i_relation = itrelation

  • I_RELATION_UPDATE =

e_message_table = itemsg2.

  • I_ACTIVITY_ELEMENT =

  • I_ACTIVITY_ELEMENT_UPDATE =

  • I_ACTIVITY_MILESTONE =

  • I_ACTIVITY_MILESTONE_UPDATE =

IF sy-subrc = 0.

ENDIF.

LOOP AT itemsg2.

MOVE : itemsg2-method to activity_relation_error-method,

itemsg2-object_type to activity_relation_error-OBJECT_TYPE,

itemsg2-internal_object_id to

activity_relation_error-INTERNAL_OBJECT_ID,

itemsg2-external_object_id to

activity_relation_error-EXTERNAL_OBJECT_ID,

itemsg2-message_id to activity_relation_error-MESSAGE_ID,

itemsg2-message_number to

activity_relation_error-MESSAGE_NUMBER,

itemsg2-message_type to

activity_relation_error-MESSAGE_TYPE,

itemsg2-message_text to

activity_relation_error-MESSAGE_TEXT.

append activity_relation_error.

clear itemsg2.

endloop.

.

COMMIT WORK .

WAIT UP TO 1 SECONDS. .

ENDFUNCTION

.

Reward Points if useful

Raghunath.S

9986076729

Read only

Former Member
0 Likes
594

Why dont you try with XI as middleware between FlatFile and SAP where you will use Standard BAPi's at ECC Side in proxy and upload the data into SAP.

File Server(File Adapter)<----XI---->(XI Adapter) Proxy(BAPI)

Thanks

Sudharshan