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_PLANNEDORDER_CREATE

Former Member
0 Likes
1,576

Dear Experts,

Some help required regarding following Code:

I have to upload data from excel file to SAP via BAPI BAPI_PLANNEDORDER_CREATE, mentioning all error which comes up in TXT file in c:/Temp. and also checking the material is created in SAP.

Issue with code:

1. Error are not coming Unique they are repeating, which they should not

2. Material 'COKE1' and TMT1'' are giving error in TXT file which is uploaded via excel file though COKE1 and TMT1 are created when checked in MD04.

3. Material 'T50108045500900' is not even created when checked via MD04 and also giving error in TXT file which it shoudl not.

Test Data:

Material Plant Quantity Start Date Finish Date SaleOrd

TMT_NEW ES01 155 20120127 20120127

TMT1 ES01 50 20120127 20120127 100

COKE1 ES01 111 20120127 20120127 100

T50108045500900 ES01 190 20120127 20120127 216

Code:

form BAPI_PLANNEDORDER_CREATE .

LOOP at it_record INTO wa_record.

BAPIPLAF_I1-MATERIAL = wa_record-MATNR.

BAPIPLAF_I1-PLAN_PLANT = wa_record-Plant.

BAPIPLAF_I1-PROD_PLANT = wa_record-Plant.

BAPIPLAF_I1-TOTAL_PLORD_QTY = wa_record-Quantity.

BAPIPLAF_I1-ORDER_START_DATE = wa_record-s_date.

BAPIPLAF_I1-ORDER_FIN_DATE = wa_record-f_date.

BAPIPLAF_I1-SALES_ORD = wa_record-Sale_ord.

IF BAPIPLAF_I1-SALES_ORD EQ ' '.

BAPIPLAF_I1-ACCTASSCAT = 'E'.

BAPIPLAF_I1-PLDORD_PROFILE = 'LA'.

ELSE.

BAPIPLAF_I1-ACCTASSCAT = ' '.

BAPIPLAF_I1-PLDORD_PROFILE = 'KD'.

ENDIF.

CALL FUNCTION 'BAPI_PLANNEDORDER_CREATE'

EXPORTING

headerdata = BAPIPLAF_I1

IMPORTING

RETURN = wa_error

PLANNEDORDER = I_BAPIPLNUM.

if wa_error-TYPE = 'E'.

DATA : lv_text(100) TYPE c.

lv_text = 'Material Account Assignment Data Is Incomplete for: ' .

CONCATENATE lv_text BAPIPLAF_I1-MATERIAL INTO wa_error-message.

append wa_error to lt_error.

  • Convert date to dd-mm-yyyy format

CALL FUNCTION 'HRGPBS_HESA_DATE_FORMAT'

EXPORTING

p_date = sy-datum

IMPORTING

DATESTRING = lv_date.

WRITE sy-uzeit TO lv_time ENVIRONMENT TIME FORMAT.

CONCATENATE lv_time0(2) ':' lv_time2(2) ':' lv_time+4(2) INTO lv_curr_time.

LOOP at lt_error INTO wa_error.

wa_log-Date = lv_date.

wa_log-Time = lv_curr_time.

wa_log-type = wa_error-type.

wa_log-message = wa_error-message.

APPEND wa_log to it_error.

ENDLOOP.

CLEAR lt_error.

*Displaying Error Message in Excel

DATA: lv_file TYPE string.

lv_file = 'C:\temp\Planned_Order_Creation_Error.TXT'.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = lv_file

FILETYPE = 'ASC'

APPEND = 'X'

WRITE_FIELD_SEPARATOR = 'X'

tables

data_tab = it_error

EXCEPTIONS

FILE_WRITE_ERROR = 1

NO_BATCH = 2

GUI_REFUSE_FILETRANSFER = 3

INVALID_TYPE = 4

NO_AUTHORITY = 5

UNKNOWN_ERROR = 6

HEADER_NOT_ALLOWED = 7

SEPARATOR_NOT_ALLOWED = 8

FILESIZE_NOT_ALLOWED = 9

HEADER_TOO_LONG = 10

DP_ERROR_CREATE = 11

DP_ERROR_SEND = 12

DP_ERROR_WRITE = 13

UNKNOWN_DP_ERROR = 14

ACCESS_DENIED = 15

DP_OUT_OF_MEMORY = 16

DISK_FULL = 17

DP_TIMEOUT = 18

FILE_NOT_FOUND = 19

DATAPROVIDER_EXCEPTION = 20

CONTROL_FLUSH_ERROR = 21

OTHERS = 22.

IF sy-subrc EQ 0.

PERFORM COMMIT_WORK.

ELSE.

PERFORM ROLLBACK_WORK.

endif.

ELSE.

MOVE I_BAPIPLNUM TO PLAFW-PLANNEDORDER_NUM.

PERFORM COMMIT_WORK.

ENDIF.

ENDLOOP.

CLEAR it_error.

endform. " BAPI_PLANNEDORDER_CREATE

1 REPLY 1
Read only

Former Member
0 Likes
585

Dear experts,

I JUST need help in creating Material 'T50108045500900' which i am not able to. All other material in test data are present when checked through Tcode: MD04.

Kindly advise, what i am doin wrong in following Code.

Regards.

Puneet