2007 Jul 05 7:04 AM
Hi All,
I am facing a strange problem while using BAPI_REQUIREMENTS_CREATE in my program.when the program is run several times this BAPI creates a requirment in MD04 alternately..i.e., it creates a requirment in MD04 first time but it deletes the same entry when it is run next time..plz let me know what could be the problem
Thanks,
Rakesh.
Hi All,
I am facing a strange problem while using BAPI_REQUIREMENTS_CREATE in my program.when the program is run several times this BAPI creates a requirment in MD04 alternately..i.e., it creates a requirment in MD04 first time but it deletes the same entry when it is run next time..plz let me know what could be the problem
Thanks,
Rakesh.
2007 Jul 05 11:09 AM
Hi,
REPORT ZTY_MM_BAPI_REQUIREMENTS .
*bapi data
data: req_item like BAPISITEMR.
data: req_data like BAPISSHDIN occurs 0 with header line.
data: RETURN LIKE BAPIRETURN1 OCCURS 0 WITH HEADER LINE.
data: matertemp like BAPISITEMR-MATERIAL.
data: begin of wa_itab,
index type i,
matnr like BAPISITEMR-MATERIAL,
REQ_QTY like BAPISSHDIN-REQ_QTY,
end of wa_itab.
data: itab like wa_itab occurs 0 with header line.
data: matemp like BAPISITEMR-MATERIAL.
data: begin of log occurs 0,
index type i,
MESSAGE like return-message,
end of log.
SELECTION-SCREEN: BEGIN OF BLOCK FRAME01
WITH FRAME TITLE Text-001.
parameters: p_number like pbpt-pbdnr obligatory.
parameters: p_today like sy-datum obligatory.
parameters: TXTFILE like rlgrap-filename default
'c:\material.txt' obligatory.
parameters: logfile like rlgrap-filename default
'c:\log.txt' obligatory.
SELECTION-SCREEN: END OF BLOCK FRAME01.
SELECTION-SCREEN: BEGIN OF BLOCK FRAME02
WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN COMMENT /5(40) TEXT-003.
SELECTION-SCREEN: END OF BLOCK FRAME02.
START-OF-SELECTION.
PERFORM FRM_GET_DATA.
PERFORM FRM_CREATE_requ.
end-of-selection.
*--
FORM FRM_GET_DATA.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = TXTFILE
FILETYPE = 'DAT'
HEADLEN = ' '
LINE_EXIT = ' '
TRUNCLEN = ' '
USER_FORM = ' '
USER_PROG = ' '
DAT_D_FORMAT = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10
.
IF SY-SUBRC <> 0.
write : ' '.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
exit.
ENDIF.
ENDFORM.
*loop at itab.
itab-index = sy-index.
itab-plan = '8000'.
itab-requ = 'vse'.
itab-v = 'X'.
itab-req_number = p_number.
modify itab.
*endloop.
*--
*--
FORM FRM_CREATE_requ.
loop at itab.
concatenate '00000000000' itab-matnr into matertemp.
req_item-material = matertemp.
req_item-plant = '8000'.
req_item-REQU_TYPE = 'VSE'.
req_item-VERSION = '00'.
req_item-VERS_ACTIV = 'X'.
req_item-req_number = p_number.
req_data-DATE_TYPE = 3.
req_data-req_date = p_today.
req_data-REQ_QTY = itab-REQ_QTY.
append req_data.
CALL FUNCTION <b>'BAPI_REQUIREMENTS_CREATE'</b>
EXPORTING
REQUIREMENTS_ITEM = req_item
REQUIREMENT_PARAM =
IMPORTING
MATERIAL = matemp
PLANT =
REQUIREMENTSTYPE =
VERSION =
REQMTSPLANNUMBER =
TABLES
REQUIREMENTS_SCHEDULE_IN = REQ_data
REQUIREMENTS_CHAR_IN =
RETURN = RETURN.
IF NOT matemp IS INITIAL.
WRITE:/(10) matemp COLOR 4,
.
else.
log-index = itab-index.
log-message = return-MESSAGE.
append log.
ENDIF.
clear matemp.
REFRESH req_data.
clear matertemp.
clear req_item.
endloop.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = LOGFILE
FILETYPE = 'DAT'
TABLES
DATA_TAB = LOG
EXCEPTIONS
INVALID_FILESIZE = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
CUSTOMER_ERROR = 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.
endform.
*--
Please reward points.
Regards,
Ameet
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |