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

error while executing bapi BAPI_SALESORDER_CREATEFROMDAT2

Former Member
0 Likes
833

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
727

are you passing the partners information....

*"      SALES_PARTNERS STRUCTURE  BAPIPARNR OPTIONAL

3 REPLIES 3
Read only

Former Member
0 Likes
728

are you passing the partners information....

*"      SALES_PARTNERS STRUCTURE  BAPIPARNR OPTIONAL

Read only

0 Likes
727

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

Read only

0 Likes
727

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