‎2008 Sep 06 10:25 AM
while executing BAPI_SALESORDER_CREATEFROMDAT2
i am getting following error listed below , i try to search sold to party and ship to party field in bapi header structure i.e BAPISDHD1 in this i m nt able to seach ship to party of sold to party field ????
plz help in what to do ??
Error Report
he following records failed during update:
ERROR.
1 Please enter sold-to party or ship-to pa
1 Sales document was not changed
‎2008 Sep 06 10:30 AM
are you passing the partners information....
*" SALES_PARTNERS STRUCTURE BAPIPARNR OPTIONAL
‎2008 Sep 06 10:30 AM
are you passing the partners information....
*" SALES_PARTNERS STRUCTURE BAPIPARNR OPTIONAL
‎2008 Sep 06 10:33 AM
ya i m passing it
Vijay do u hve running bapi creare sales order program ??
i m attaching my report below.
<>REPORT ZBAPI_SALESORDER_CREATE.
DATA : ORDER_HEADER_IN LIKE BAPISDHD1.
DATA : ORDER_ITEMS_IN LIKE BAPISDITM OCCURS 0 WITH HEADER LINE.
DATA : RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
DATA : ORDER_PARTNERS LIKE BAPIPARNR OCCURS 0 WITH HEADER LINE.
DATA : ORDER_KEYS LIKE BAPISDKEY OCCURS 0 WITH HEADER LINE.
DATA : ORDER_SCHEDULES_IN LIKE BAPISCHDL OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF TAB OCCURS 0,
SRNO(4),
DOC_TYPE LIKE ORDER_HEADER_IN-DOC_TYPE,
SALES_ORG LIKE ORDER_HEADER_IN-SALES_ORG,
DISTR_CHAN LIKE ORDER_HEADER_IN-DISTR_CHAN,
DIVISION LIKE ORDER_HEADER_IN-DIVISION,
PURCH_DATE LIKE ORDER_HEADER_IN-PURCH_DATE,
PMNTTRMS LIKE ORDER_HEADER_IN-PMNTTRMS,
PURCH_NO_C LIKE ORDER_HEADER_IN-PURCH_NO_C,
ITM_NUMBER LIKE BAPISDITM-ITM_NUMBER,
CUST_MAT22 LIKE ORDER_ITEMS_IN-CUST_MAT22,
PLANT LIKE ORDER_ITEMS_IN-PLANT,
TARGET_QTY LIKE ORDER_ITEMS_IN-TARGET_QTY,
PARTN_ROLE LIKE ORDER_PARTNERS-PARTN_ROLE,
PARTN_NUMB LIKE ORDER_PARTNERS-PARTN_NUMB,
REF_1_S LIKE ORDER_HEADER_IN-REF_1_S,
INCOTERMS1 like ORDER_HEADER_IN-INCOTERMS1,
END OF TAB.
DATA: ITAB1 LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
DATA: GD_CURRENTROW TYPE I.
DATA : PURCHASEORDER LIKE EKKO-EBELN.
DATA: TOT_REC TYPE I, "Total Records
GD_UPDATE TYPE I, "Main Table Increement Counter
GD_LINES TYPE I, "Success Table increement Counter
W_TEXTOUT LIKE T100-TEXT. "VARIABLE TO GET ERRORLOG
DATA : BEGIN OF IT_SUCCESS OCCURS 0,
SALESDOCUMENT LIKE BAPIVBELN-VBELN, "PROJECT
END OF IT_SUCCESS.
DATA : BEGIN OF IT_ERROR OCCURS 0,
SRNO(4),
ERR_MSG(73) TYPE C, "TO RETREIVE ERROR MESSAGES
END OF IT_ERROR.
DATA : SRNO(4).
DATA : SALESDOCUMENT LIKE BAPIVBELN-VBELN.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SKIP 3.
PARAMETER:P_INFILE LIKE RLGRAP-FILENAME OBLIGATORY.
SKIP 3.
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INFILE.
PERFORM VALUE_HELP.
START-OF-SELECTION.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_INFILE
I_BEGIN_COL = '1'
I_BEGIN_ROW = '2' "Do not requireheadings
I_END_COL = '22'
I_END_ROW = '10000'
TABLES
INTERN = ITAB1
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE E010(ZZ) WITH TEXT-001. "Problem uploadingExcel Spreadsheet
ENDIF.
*perform open_group.
SORT ITAB1 BY ROW COL.
Get first row retrieved
READ TABLE ITAB1 INDEX 1.
Set first row retrieved to current row
GD_CURRENTROW = ITAB1-ROW.
LOOP AT ITAB1.
Reset values for next row
IF ITAB1-ROW NE GD_CURRENTROW.
APPEND TAB .
CLEAR TAB.
GD_CURRENTROW = ITAB1-ROW.
ENDIF.
SHIFT ITAB1-VALUE LEFT DELETING LEADING SPACE.
CASE ITAB1-COL.
WHEN '0001'.
TAB-SRNO = ITAB1-VALUE.
WHEN '0002'.
TAB-DOC_TYPE = ITAB1-VALUE.
WHEN '0003'.
TAB-SALES_ORG = ITAB1-VALUE.
WHEN '0004'.
TAB-DISTR_CHAN = ITAB1-VALUE.
WHEN '0005'.
TAB-DIVISION = ITAB1-VALUE.
WHEN '0006'.
TAB-PURCH_DATE = ITAB1-VALUE.
WHEN '0007'.
TAB-PMNTTRMS = ITAB1-VALUE.
WHEN '0008'.
TAB-PURCH_NO_C = ITAB1-VALUE.
WHEN '0009'.
TAB-ITM_NUMBER = ITAB1-VALUE.
WHEN '0010'.
TAB-CUST_MAT22 = ITAB1-VALUE.
WHEN '0011'.
TAB-PLANT = ITAB1-VALUE.
WHEN '0012'.
TAB-TARGET_QTY = ITAB1-VALUE.
WHEN '0013'.
TAB-PARTN_ROLE = ITAB1-VALUE.
WHEN '0014'.
TAB-PARTN_NUMB = ITAB1-VALUE.
WHEN '0015'.
TAB-REF_1_S = ITAB1-VALUE.
WHEN '0016'.
TAB-INCOTERMS1 = ITAB1-VALUE.
ENDCASE.
ENDLOOP.
APPEND TAB.
CLEAR TAB.
SORT TAB BY SRNO.
LOOP AT TAB.
concatenate tab-REQ_DATE_H+4(4)
concatenate tab-REQ_DATE_H2(2) tab-REQ_DATE_H0(2) into tab-REQ_DATE_H.
CONCATENATE TAB-PURCH_DATE0(4) TAB-PURCH_DATE5(2) TAB-PURCH_DATE+6(2) INTO TAB-PURCH_DATE.
SRNO = TAB-SRNO.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = TAB-PARTN_NUMB
IMPORTING
OUTPUT = TAB-PARTN_NUMB.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = TAB-CUST_MAT22
IMPORTING
OUTPUT = TAB-CUST_MAT22.
IF TAB-SRNO = SRNO.
ORDER_HEADER_IN-DOC_TYPE = TAB-DOC_TYPE.
ORDER_HEADER_IN-SALES_ORG = TAB-SALES_ORG.
ORDER_HEADER_IN-DISTR_CHAN = TAB-DISTR_CHAN.
ORDER_HEADER_IN-PURCH_DATE = TAB-PURCH_DATE.
ORDER_HEADER_IN-PMNTTRMS = TAB-PMNTTRMS.
ORDER_HEADER_IN-PURCH_NO_C = TAB-PURCH_NO_C.
ORDER_HEADER_IN-DIVISION = TAB-DIVISION.
ORDER_ITEMS_IN-ITM_NUMBER = TAB-ITM_NUMBER.
ORDER_ITEMS_IN-MATERIAL = TAB-CUST_MAT22.
ORDER_ITEMS_IN-PLANT = TAB-PLANT.
ORDER_ITEMS_IN-REF_1_S = TAB-REF_1_S.
ORDER_ITEMS_IN-INCOTERMS1 = TAB-INCOTERMS1.
APPEND ORDER_ITEMS_IN.
ORDER_PARTNERS-PARTN_ROLE = TAB-PARTN_ROLE.
ORDER_PARTNERS-PARTN_NUMB = TAB-PARTN_NUMB.
APPEND ORDER_PARTNERS.
ORDER_SCHEDULES_IN-ITM_NUMBER = TAB-ITM_NUMBER.
ORDER_SCHEDULES_IN-REQ_QTY = TAB-TARGET_QTY.
APPEND ORDER_SCHEDULES_IN.
ENDIF.
AT END OF SRNO.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
ORDER_HEADER_IN = ORDER_HEADER_IN
ORDER_HEADER_INX =
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
SALESDOCUMENT = SALESDOCUMENT
TABLES
RETURN = RETURN
ORDER_ITEMS_IN = ORDER_ITEMS_IN
ORDER_ITEMS_INX =
ORDER_PARTNERS = ORDER_PARTNERS
ORDER_SCHEDULES_IN = ORDER_SCHEDULES_IN.
ORDER_SCHEDULES_IN =
ORDER_SCHEDULES_INX =
ORDER_CONDITIONS_IN =
ORDER_CONDITIONS_INX =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
ORDER_CCARD =
ORDER_TEXT =
ORDER_KEYS =
EXTENSIONIN =
PARTNERADDRESSES =
.
CALL FUNCTION 'BAPI_SALESORDER_CREATE'
EXPORTING
SALESDOCUMENTIN =
ORDER_HEADER_IN = ORDER_HEADER_IN
ORDER_HEADER_INX =
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
SALESDOCUMENT = SALESDOCUMENT
TABLES
RETURN = RETURN
ORDER_ITEMS_IN = ORDER_ITEMS_IN
ORDER_ITEMS_INX =
ORDER_PARTNERS = ORDER_PARTNERS
ORDER_SCHEDULES_IN = ORDER_SCHEDULES_IN.
ORDER_SCHEDULES_INX =
ORDER_CONDITIONS_IN =
ORDER_CONDITIONS_INX =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
ORDER_CCARD =
ORDER_TEXT =
ORDER_KEYS =
EXTENSIONIN =
PARTNERADDRESSES =
IF SALESDOCUMENT <> SPACE.
COMMIT WORK.
ADD 1 TO GD_UPDATE.
IT_SUCCESS-SALESDOCUMENT = SALESDOCUMENT.
APPEND IT_SUCCESS.
CLEAR :SALESDOCUMENT,ORDER_HEADER_IN.
REFRESH : RETURN,ORDER_ITEMS_IN,ORDER_PARTNERS.
ELSE.
LOOP AT RETURN.
IT_ERROR-SRNO = TAB-SRNO.
IT_ERROR-ERR_MSG = RETURN-MESSAGE .
APPEND IT_ERROR.
ENDLOOP.
CLEAR :SALESDOCUMENT,ORDER_HEADER_IN.
REFRESH : RETURN,ORDER_ITEMS_IN,ORDER_PARTNERS.
ENDIF.
ENDAT.
ENDLOOP.
DESCRIBE TABLE IT_SUCCESS LINES GD_LINES.
IF GD_LINES GT 0.
Display result report column headings
PERFORM DISPLAY_COLUMN_HEADINGS.
Display result report
PERFORM DISPLAY_SUCESS.
ENDIF.
IF SUCESS FAILS Display Error Report
DESCRIBE TABLE IT_ERROR LINES GD_LINES.
IF GD_LINES GT 0.
PERFORM ERRORHEADINGS.
PERFORM ERRORREPORT.
ENDIF.
&----
*& Form display_column_headings
&----
text
----
FORM DISPLAY_COLUMN_HEADINGS.
WRITE:2 ' Success Report '(014) COLOR COL_POSITIVE.
SKIP.
WRITE:2 'The following records inserted successfully:'(013).
WRITE:/ SY-ULINE(15).
FORMAT COLOR COL_HEADING.
WRITE:/ SY-VLINE,
(10) 'Sales order'(004), SY-VLINE.
WRITE:/ SY-ULINE(15).
ENDFORM. "display_column_headings
*Subroutine to display SUCESS REPORT
FORM DISPLAY_SUCESS.
FORMAT COLOR COL_NORMAL.
LOOP AT IT_SUCCESS.
WRITE:/ SY-VLINE,
(10) IT_SUCCESS-SALESDOCUMENT, SY-VLINE.
CLEAR IT_SUCCESS.
ENDLOOP.
WRITE:/ SY-ULINE(15).
REFRESH: IT_SUCCESS.
FORMAT COLOR COL_BACKGROUND.
ENDFORM. "*DISPLAY_REPORT
&----
*& Form errorreport
&----
text
----
FORM ERRORREPORT.
LOOP AT IT_ERROR.
WRITE:/ SY-VLINE,
(10) IT_ERROR-SRNO, SY-VLINE,
(40) IT_ERROR-ERR_MSG, SY-VLINE.
ENDLOOP.
WRITE:/ SY-ULINE(104).
REFRESH: IT_ERROR.
ENDFORM. "errorreport
&----
*& Form ERRORHEADINGS
&----
text
----
FORM ERRORHEADINGS.
SKIP.
WRITE:2 ' Error Report '(007) COLOR COL_NEGATIVE.
SKIP.
WRITE:2 'The following records failed during update:'(008).
WRITE:/ SY-ULINE(104).
FORMAT COLOR COL_HEADING.
WRITE:/ SY-VLINE,
(10) 'ERROR.'(009), SY-VLINE.
WRITE:/ SY-ULINE(104).
FORMAT COLOR COL_NORMAL.
ENDFORM. "ERRORHEADINGS
**&----
**
**& Form value_help
**&----
**
text
**----
**
--> p1 text
<-- p2 text
**----
**
FORM VALUE_HELP .
CALL FUNCTION 'DSVAS_DOC_WS_FILENAME_GET_50'
EXPORTING
DEF_FILENAME = ' '
DEF_PATH = ' '
MASK = ',.,..'
MODE = 'O'
TITLE = ' '
IMPORTING
FILENAME = P_INFILE
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.<>
‎2008 Sep 06 10:55 AM
I don;t have any porgram with my currently. you can search in this forum may be you can get some sample codes. here is one working example..
report z_salesorder_create.
data:
order_header_in type bapisdhd1,
return type table of bapiret2,
order_partners type table of bapiparnr,
order_part type bapiparnr,
order_items_in type table of bapisditm,
order_items type bapisditm,
order_items_inx type table of bapisditmx,
order_items_x type bapisditmx,
salesdocument type bapivbeln-vbeln,
order_header_inx type bapisdhd1x.
order_header_inx-doc_type = 'X'.
order_header_inx-sales_org = 'X'.
order_header_inx-distr_chan = 'X'.
order_header_inx-division = 'X'.
order_header_inx-req_date_h = 'X'.
order_header_inx-purch_date = 'X'.
order_header_inx-doc_date = 'X'.
order_header_inx-currency = 'X'.
order_header_inx-sd_doc_cat = 'X'.
order_header_in-doc_type = 'TA'.
order_header_in-sales_org = '1000'.
order_header_in-distr_chan = '12'.
order_header_in-division = '00'.
order_header_in-req_date_h = sy-datum + 7.
order_header_in-purch_date = sy-datum.
order_header_in-doc_date = sy-datum.
order_header_in-currency = 'EUR'.
order_header_in-sd_doc_cat = 'C'.
order_items-itm_number = '000000'.
order_items-material = 'C-1030'. "replace with your material and plant
order_items-plant = '1200'.
order_items-target_qty = '10'.
order_items-target_qu = 'M'.
order_items-sales_unit = 'M'.
append order_items to order_items_in.
order_items_x-itm_number = '000000'.
order_items_x-material = 'X'.
order_items_x-plant = 'X'.
order_items_x-target_qty = 'X'.
order_items_x-target_qu = 'X'.
order_items_x-sales_unit = 'X'.
append order_items_x to order_items_inx.
"Sold to party
order_part-partn_role = 'AG'.
order_part-partn_numb = '0000001033'.
order_part-itm_number = '000000'.
append order_part to order_partners.
"Ship-to party
order_part-partn_role = 'WE'.
order_part-partn_numb = '0000001033'.
order_part-itm_number = '000000'. "<-----For header you need to mention the like this..
append order_part to order_partners.
call function 'BAPI_SALESORDER_CREATEFROMDAT2'
exporting
order_header_in = order_header_in
order_header_inx = order_header_inx
importing
salesdocument = salesdocument
tables
return = return
order_items_in = order_items_in
order_items_inx = order_items_inx
order_partners = order_partners.
"Read the return with type 'S' if success then commit.
call function 'BAPI_TRANSACTION_COMMIT'
.
write:/ salesdocument.Edited by: Vijay Babu Dudla on Sep 6, 2008 5:59 AM