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

Problem while uploading data in MD61 using BAPI_Requirements_create

Former Member
0 Likes
817

Hi friends,

I used the BAPI_Requirements_create for uploading the data in MD61. Data is getting uploaded but when i go into the transaction MD62(Change Mode) and extra column is displayed for each month.

For e.g.

Months 01/2008 01/2008 02/2008 02/2008

Quantities 10 20

If anybody has come across such an issue i would request you to suggest me where am i going wrong.

Awaiting u r replies.

RASHMI POTDAR

2 REPLIES 2
Read only

Former Member
0 Likes
600

Pl do the needful

Read only

Former Member
0 Likes
600

&----


*& Report ZCSPP_PIR

*&

&----


*&

*&

&----


REPORT ZCSPP_PIR.

TABLES:PBIM,PBHI.

DATA:REQ_ITEM LIKE BAPISITEMR OCCURS 0 WITH HEADER LINE.

DATA:REQ_PARAM LIKE CM60R OCCURS 0 WITH HEADER LINE,

DO_COMT LIKE BAPISPARAM-DO_COMMIT VALUE 'X',

UP_MODE LIKE BAPISPARAM-UPDATE_MODE VALUE 'X',

MAT LIKE BAPISITEMR-MATERIAL,

PLT LIKE BAPISITEMR-PLANT,

REQTYPE LIKE BAPISITEMR-REQU_TYPE,

VERS LIKE BAPISITEMR-VERSION,

REQPLANNUM LIKE BAPISITEMR-REQ_NUMBER,

VERS_ACT LIKE BAPISITEMR-VERS_ACTIV,

MRP_AREA LIKE BAPISITEMR-MRP_AREA.

DATA: REQ_OUT LIKE BAPISITMEO OCCURS 0 WITH HEADER LINE.

DATA: REQ_ITEM_OUT LIKE BAPISITEMR OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF RETURN OCCURS 0.

INCLUDE STRUCTURE BAPIRET1.

DATA: END OF RETURN.

DATA: BEGIN OF GREQ_SHD OCCURS 0.

INCLUDE STRUCTURE BAPISSHDIN.

DATA: END OF GREQ_SHD.

DATA: BEGIN OF GREQ_CHR OCCURS 0.

INCLUDE STRUCTURE BAPISCHARR.

DATA: END OF GREQ_CHR.

DATA : BEGIN OF T_DATA OCCURS 0,

MATNR TYPE AM60X-MATNR,

WERKS TYPE AM60X-WERKS,

VERSB TYPE RM60X-VERSB,

END OF T_DATA.

DATA: BEGIN OF T_DATA1 OCCURS 0,

ENTLU TYPE RM60E-ENTLU,

EDATU TYPE RM60E-EDATU,

PLMNG TYPE RM60E-PLNMG,

END OF T_DATA1.

DATA: BEGIN OF I_BDZEI OCCURS 0,

BDZEI TYPE PBIM-BDZEI,

END OF I_BDZEI.

DATA: BDZEI1 TYPE PBHI-BDZEI.

DATA : BEGIN OF T_WEEK OCCURS 0,

MATNR TYPE AM60X-MATNR,

WERKS TYPE AM60X-WERKS,

VERSB TYPE RM60X-VERSB,

PLMNG1(15) TYPE C,

PLMNG2(15) TYPE C,

PLMNG3(15) TYPE C,

PLMNG4(15) TYPE C,

PLMNG5(15) TYPE C,

PLMNG6(15) TYPE C,

PLMNG7(15) TYPE C,

PLMNG8(15) TYPE C,

PLMNG9(15) TYPE C,

PLMNG10(15) TYPE C,

PLMNG11(15) TYPE C,

PLMNG12(15) TYPE C,

PLMNG13(15) TYPE C,

PLMNG14(15) TYPE C,

PLMNG15(15) TYPE C,

PLMNG16(15) TYPE C,

PLMNG17(15) TYPE C,

PLMNG18(15) TYPE C,

PLMNG19(15) TYPE C,

PLMNG20(15) TYPE C,

PLMNG21(15) TYPE C,

PLMNG22(15) TYPE C,

PLMNG23(15) TYPE C,

PLMNG24(15) TYPE C,

PLMNG25(15) TYPE C,

PLMNG26(15) TYPE C,

PLMNG27(15) TYPE C,

PLMNG28(15) TYPE C,

PLMNG29(15) TYPE C,

PLMNG30(15) TYPE C,

END OF T_WEEK.

data: begin of t_success occurs 0.

include structure t_week.

data: end of t_success.

data: begin of t_errors occurs 0.

include structure t_week.

data: end of t_errors.

DATA: VAR(2) TYPE C.

FIELD-SYMBOLS: <FS> TYPE ANY.

DATA : W_COUNT TYPE C LENGTH 2,

W_RECNO TYPE C LENGTH 2,

W_SRNUM TYPE C LENGTH 2,

W_ITEM TYPE C LENGTH 3.

W_COUNT = '1'.

W_SRNUM = '1'.

W_RECNO = '2'.

W_ITEM = '3'.

DATA : PLMNG(15) TYPE C.

DATA : BDZEI TYPE PBIM-BDZEI.

DATA : PLNMG TYPE PBED-PLNMG.

data : index(4) type c.

index = 1.

PARAMETERS: FILENAME LIKE RLGRAP-FILENAME.

constants : c_a(1) type c value '2',

c_b(1) type c value '3',

c_c(1) type c value '1'.

&----


&

& AT SELECTION SCREEN Validation &

&----


&

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILENAME.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

IMPORTING

FILE_NAME = FILENAME.

&----


&

& START-OF-SELECTION &

&----


&

START-OF-SELECTION.

PERFORM WEEK_GET_DATA.

CLEAR T_WEEK.

LOOP AT T_WEEK FROM W_ITEM.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = T_WEEK-MATNR

IMPORTING

OUTPUT = T_WEEK-MATNR.

REQ_ITEM-MATERIAL = T_WEEK-MATNR.

REQ_ITEM-PLANT = T_WEEK-WERKS.

REQ_ITEM-REQU_TYPE = 'BSF'.

REQ_ITEM-VERSION = T_WEEK-VERSB.

REQ_ITEM-REQ_NUMBER = ' '.

REQ_ITEM-VERS_ACTIV = 'X'.

req_item-mrp_area = ' '.

APPEND REQ_ITEM.

if t_week-plmng29 is initial.

IF T_WEEK-PLMNG28 IS INITIAL.

perform greq_shd.

ELSE.

perform greq_shd1.

ENDIF.

else.

perform greq_shd2.

endif.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = T_WEEK-MATNR

IMPORTING

OUTPUT = T_WEEK-MATNR.

SELECT SINGLE BDZEI FROM PBIM INTO BDZEI WHERE MATNR = T_WEEK-MATNR

AND BEDAE = 'BSF'

AND VERSB = '00'.

IF SY-SUBRC <> 0.

CALL FUNCTION 'BAPI_REQUIREMENTS_CREATE'

EXPORTING

REQUIREMENTS_ITEM = REQ_ITEM

DO_COMMIT = 'X'

UPDATE_MODE = 'X'

IMPORTING

MATERIAL = MAT

PLANT = PLT

REQUIREMENTSTYPE = REQTYPE

VERSION = VERS

REQMTSPLANNUMBER = REQPLANNUM

MRP_AREA = MRP_AREA

TABLES

REQUIREMENTS_SCHEDULE_IN = GREQ_SHD

RETURN = RETURN.

.

if return is not initial.

move t_week to t_errors.

append t_errors.

format color COL_NEGATIVE intensified off.

WRITE:/01 sy-vline,

02 index,

06 sy-vline,

07 RETURN-MESSAGE_V1,

27 sy-vline,

28 'Not Created',

69 sy-vline.

write:/ sy-uline(69).

else.

format color COL_HEADING intensified off.

WRITE:/01 sy-vline,

02 index,

06 sy-vline,

07 req_item-material,

27 sy-vline,

28 'Created',

69 sy-vline.

write:/ sy-uline(69).

endif.

clear req_item_out.

clear greq_shd.

refresh greq_shd.

else.

CALL FUNCTION 'BAPI_REQUIREMENTS_CHANGE'

EXPORTING

MATERIAL = REQ_ITEM-MATERIAL

PLANT = REQ_ITEM-PLANT

REQUIREMENTSTYPE = REQ_ITEM-REQU_TYPE

VERSION = REQ_ITEM-VERSION

REQMTSPLANNUMBER = REQ_ITEM-REQ_NUMBER

VERS_ACTIV = 'X'

MRP_AREA = REQ_ITEM-MRP_AREA

DO_COMMIT = 'X'

UPDATE_MODE = 'X'

DELETE_OLD = 'X'

NO_WITHDR = ' '

IMPORTING

REQUIREMENT_ITEM_OUT = REQ_ITEM_OUT

TABLES

REQUIREMENTS_SCHEDULE_IN = GREQ_SHD

RETURN = RETURN

.

if return is not initial.

move t_week to t_errors.

append t_errors.

format color COL_NEGATIVE intensified off.

WRITE:/01 sy-vline,

02 index,

06 sy-vline,

07 RETURN-MESSAGE_V1,

27 sy-vline,

28 'Not Created',

69 sy-vline.

write:/ sy-uline(69).

else.

format color COL_HEADING intensified off.

WRITE:/01 sy-vline,

02 index,

06 sy-vline,

07 req_item-material,

27 sy-vline,

28 'Created',

69 sy-vline.

write:/ sy-uline(69).

endif.

clear req_item_out.

clear greq_shd.

refresh greq_shd.

ENDIF.

W_ITEM = W_ITEM + 1.

index = index + 1.

ENDLOOP.

perform errors_download.

&----


*& Form week_get_data

&----


  • text

----


FORM WEEK_GET_DATA.

DATA: FILENAME1 TYPE STRING.

MOVE: FILENAME TO FILENAME1.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = FILENAME1

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

TABLES

DATA_TAB = T_WEEK.

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. "week_get_data

&----


*& Form greq_shd

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM greq_shd .

DO 27 TIMES.

VAR = SY-INDEX.

CONCATENATE 't_week-plmng' VAR INTO PLMNG.

ASSIGN (PLMNG) TO <FS>.

READ TABLE T_WEEK INDEX W_SRNUM.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = <FS>

IMPORTING

OUTPUT = <FS>.

IF <FS> = 'W'.

<FS> = c_a.

ELSEIF <FS> = 'M'.

<FS> = c_b.

elseif <fs> = 'D'.

<FS> = C_C.

ENDIF.

GREQ_SHD-DATE_TYPE = <FS>.

READ TABLE T_WEEK INDEX W_RECNO.

GREQ_SHD-REQ_DATE = <FS>.

READ TABLE T_WEEK INDEX W_ITEM.

GREQ_SHD-REQ_QTY = <FS>.

GREQ_SHD-UNIT = 'CS'.

APPEND GREQ_SHD.

ENDDO.

ENDFORM. " greq_shd

&----


*& Form greq_shd1

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM greq_shd1 .

DO 28 TIMES.

VAR = SY-INDEX.

CONCATENATE 't_week-plmng' VAR INTO PLMNG.

ASSIGN (PLMNG) TO <FS>.

READ TABLE T_WEEK INDEX W_SRNUM.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = <FS>

IMPORTING

OUTPUT = <FS>.

IF <FS> = 'W'.

<FS> = c_a.

ELSEIF <FS> = 'M'.

<FS> = c_b.

elseif <fs> = 'D'.

<FS> = C_C.

ENDIF.

GREQ_SHD-DATE_TYPE = <FS>.

READ TABLE T_WEEK INDEX W_RECNO.

GREQ_SHD-REQ_DATE = <FS>.

READ TABLE T_WEEK INDEX W_ITEM.

GREQ_SHD-REQ_QTY = <FS>.

GREQ_SHD-UNIT = 'CS'.

APPEND GREQ_SHD.

ENDDO.

ENDFORM. " greq_shd1

&----


*& Form greq_shd2

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM greq_shd2 .

DO 29 TIMES.

VAR = SY-INDEX.

CONCATENATE 't_week-plmng' VAR INTO PLMNG.

ASSIGN (PLMNG) TO <FS>.

READ TABLE T_WEEK INDEX W_SRNUM.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = <FS>

IMPORTING

OUTPUT = <FS>.

IF <FS> = 'W'.

<FS> = c_a.

ELSEIF <FS> = 'M'.

<FS> = c_b.

elseif <fs> = 'D'.

<FS> = C_C.

ENDIF.

GREQ_SHD-DATE_TYPE = <FS>.

READ TABLE T_WEEK INDEX W_RECNO.

GREQ_SHD-REQ_DATE = <FS>.

READ TABLE T_WEEK INDEX W_ITEM.

GREQ_SHD-REQ_QTY = <FS>.

GREQ_SHD-UNIT = 'CS'.

APPEND GREQ_SHD.

ENDDO.

ENDFORM. " greq_shd2

top-of-page.

format color COL_HEADING intensified on.

write:/01 sy-vline,

02 'SNo.',

06 sy-vline,

07 'Material' ,

27 sy-vline,

28 'Status',

69 sy-vline.

write:/ sy-uline(69).

&----


*& Form errors_download

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM errors_download .

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

FILENAME = 'c:\bapipir.xls'

FILETYPE = 'ASC'

WRITE_FIELD_SEPARATOR = 'X'

TABLES

DATA_TAB = T_ERRORS

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

IF T_ERRORS IS NOT INITIAL.

MESSAGE 'ERROR FILE IS DOWNLOADED IN C DRIVE WITH NAME BAPIPIR.XLS' TYPE 'I'.

ENDIF.

ENDFORM. " errors_download