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 for sales order BAPI_SALESORDER_CREATEFROMDAT1

Former Member
0 Likes
517

i am getting an error sold yo patry shouls be specified even after given all the reqiired data can any one tell mewhat is the problem?

TYPES : begin of ty_head,

IDENT(4) TYPE C,

DOC_TYPE(4) type c, "Sales Document Type

SALES_ORG(4) type c, " Sales Organization

DISTR_CHAN(2) TYPE C, "Distribution Channel

DIVISION(2) TYPE C, " DIVISION

SALES_OFF(4) TYPE C,

SALES_GRP(3) TYPE C,

PURCH_NO_C(35) TYPE C, "Customer purchase order number

PURCH_DATE(8) TYPE C,

PRICE_DATE(8) TYPE C,

PMNTTRMS(4) TYPE C,

INCOTERMS1(3) TYPE C,

INCOTERMS2(28) TYPE C,

DLV_BLOCK(2) TYPE C,

BILL_BLOCK(2) TYPE C,

end of ty_head.

TYPES : BEGIN OF TY_ITEM,

IDENT(4) TYPE C,

ITM_NUMBER(6) TYPE C,

MATERIAL(18) TYPE C,

  • QUAN

TARGET_QTY(13) type c, " Target quantity in sales units

TARGET_QU(3) type c, " Target quantity UoM

PLANT(4) TYPE C,

SHORT_TEXT(40) type c,

CURRENCY(5) type c,

SHIP_POINT(4) type c,

STORE_LOC(4) type c,

NET_WEIGHT(25) type c,

UNTOF_WGHT(3) type c,

GROSS_WGHT(15) type c,

PARTN_ROLE(2) TYPE C, "ship-to party we can give any kunnr

PARTN_NUMB(10) TYPE C,

REQ_DATE(8) type c,

REQ_DLV_BL(2) type c,

COND_VALUE(28) type c,

  • COND_P_UNT(5) type c,

  • COND_UNIT(3) type c,MBER(6) type c,

COND_TYPE(4) type c,

END OF TY_ITEM.

DATA : wa_head type ty_head.

data : wa_item type ty_item.

data : tt_head type standard table of ty_head.

data : tt_item type standard table of ty_item.

data : wa_BAPISDHEAD type BAPISDHEAD,

  • wa_BAPISDHD1X type BAPISDHD1X,

wa_BAPIITEMIN type BAPIITEMIN,

  • wa_BAPISDITMX type BAPISDITMX,

wa_BAPIPARTNR type BAPIPARTNR,

wa_BAPISDHEDU type BAPISDHEDU,

  • wa_BAPISCHDLX type BAPISCHDLX,

wa_BAPICOND type BAPICOND,

wa_BAPICONDX type BAPICONDX.

data : TT_BAPIITEMIN type standard table of BAPIITEMIN,

  • TT_BAPISDITMX type standard table of BAPISDITMX,

TT_BAPIPARTNR type standard table of BAPIPARTNR,

TT_BAPISDHEDU type standard table of BAPISDHEDU.

data : wa_return type BAPIRETURN1.

DATA : TT_RETURN TYPE STANDARD TABLE OF BAPIRET2.

data : v_msg type string.

data : Q_FNAME TYPE STRING.

parameters : p_fname type rlgrap-filename.

parameters : s_fname type rlgrap-filename.

at selection-screen on value-request for p_fname.

CALL FUNCTION 'F4_FILENAME'

IMPORTING

FILE_NAME = p_fname

.

move p_fname to q_fname.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = q_fname

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

TABLES

DATA_TAB = tt_head

.

clear q_fname.

at selection-screen on value-request for s_fname.

CALL FUNCTION 'F4_FILENAME'

IMPORTING

FILE_NAME = s_fname

.

move s_fname to q_fname.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = q_fname

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

TABLES

DATA_TAB = tt_item

.

loop at tt_head into wa_head.

move : wa_head-DOC_TYPE to WA_BAPISDHEAD-DOC_TYPE,

wa_head-SALES_ORG to WA_BAPISDHEAD-SALES_ORG,

wa_head-DISTR_CHAN to WA_BAPISDHEAD-DISTR_CHAN,

wa_head-DIVISION to WA_BAPISDHEAD-DIVISION,

wa_head-SALES_OFF to WA_BAPISDHEAD-SALES_OFF,

wa_head-SALES_GRP to WA_BAPISDHEAD-SALES_GRP,

wa_head-PURCH_NO_C to WA_BAPISDHEAD-PURCH_NO_C,

wa_head-PURCH_DATE to WA_BAPISDHEAD-PURCH_DATE,

wa_head-PRICE_DATE to WA_BAPISDHEAD-PRICE_DATE,

wa_head-PMNTTRMS to WA_BAPISDHEAD-PMNTTRMS,

wa_head-INCOTERMS1 to WA_BAPISDHEAD-INCOTERMS1,

wa_head-INCOTERMS2 to WA_BAPISDHEAD-INCOTERMS2,

wa_head-DLV_BLOCK to WA_BAPISDHEAD-DLV_BLOCK,

wa_head-BILL_BLOCK to WA_BAPISDHEAD-BILL_BLOCK.

LOOP AT TT_ITEM INTO WA_ITEM WHERE IDENT = WA_HEAD-IDENT.

MOVE : WA_ITEM-ITM_NUMBER to wa_BAPIITEMIN-ITM_NUMBER,

WA_ITEM-MATERIAL to wa_BAPIITEMIN-MATERIAL,

WA_ITEM-TARGET_QTY to WA_BAPIITEMIN-TARGET_QTY,

WA_ITEM-TARGET_QU to wa_BAPIITEMIN-TARGET_QU,

WA_ITEM-PLANT to wa_BAPIITEMIN-PLANT,

WA_ITEM-SHORT_TEXT to wa_BAPIITEMIN-SHORT_TEXT,

WA_ITEM-CURRENCY to wa_BAPIITEMIN-CURRENCY,

WA_ITEM-SHIP_POINT to wa_BAPIITEMIN-SHIP_POINT,

WA_ITEM-STORE_LOC to wa_BAPIITEMIN-STORE_LOC.

MOVE : WA_ITEM-ITM_NUMBER TO WA_BAPIITEMIN-ITM_NUMBER,

WA_ITEM-COND_VALUE TO WA_BAPIITEMIN-COND_VALUE,

WA_ITEM-CURRENCY TO WA_BAPIITEMIN-CURRENCY,

  • WA_ITEM-COND_P_UNT TO WA_BAPICOND-COND_P_UNT,

  • WA_ITEM-COND_UNIT TO WA_BAPIITEMIN-COND_UNIT,

WA_ITEM-COND_TYPE TO WA_BAPIITEMIN-COND_TYPE.

APPEND wa_BAPIITEMIN TO TT_BAPIITEMIN.

move : WA_ITEM-ITM_NUMBER TO WA_BAPIPARTNR-ITM_NUMBER,

WA_ITEM-PARTN_ROLE TO WA_BAPIPARTNR-PARTN_ROLE,

WA_ITEM-PARTN_NUMB TO WA_BAPIPARTNR-PARTN_NUMB.

APPEND WA_BAPIPARTNR TO TT_BAPIPARTNR.

move : WA_ITEM-ITM_NUMBER TO wa_BAPISDHEDU-itm_number,

WA_ITEM-REQ_DATE TO WA_BAPISDHEDU-REQ_DATE,

WA_ITEM-REQ_DLV_BL TO WA_BAPISDHEDU-REQ_DLV_BL.

APPEND WA_BAPISDHEDU TO TT_BAPISDHEDU.

ENDLOOP.

AT END OF IDENT.

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT1'

EXPORTING

ORDER_HEADER_IN = wa_BAPISDHEAD

  • WITHOUT_COMMIT = ' '

  • CONVERT_PARVW_AUART = ' '

IMPORTING

  • SALESDOCUMENT =

  • SOLD_TO_PARTY =

  • SHIP_TO_PARTY =

  • BILLING_PARTY =

RETURN = WA_return

TABLES

ORDER_ITEMS_IN = tt_BAPIITEMIN

ORDER_PARTNERS = tt_BAPIPARTNR

  • ORDER_ITEMS_OUT =

  • ORDER_CFGS_REF =

  • ORDER_CFGS_INST =

  • ORDER_CFGS_PART_OF =

  • ORDER_CFGS_VALUE =

  • ORDER_CCARD =

  • ORDER_CFGS_BLOB =

ORDER_SCHEDULE_EX = tt_BAPISDHEDU

.

&----


*& COMMIT WORK

&----


LOOP AT tt_return into wa_return WHERE type = 'S' OR type = 'I' OR type = 'W'.

EXIT.

ENDLOOP.

IF sy-subrc = 0.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

.

ELSE.

&----


*& ROLL BACK

&----


CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'

.

ENDIF.

  • ENDLOOP.

ENDAT.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
440

Hi,

You can try by passing the item number in the partner table as '000000' because sold to party belongs to header mainly.

Thanks,

radha.

1 REPLY 1
Read only

Former Member
0 Likes
441

Hi,

You can try by passing the item number in the partner table as '000000' because sold to party belongs to header mainly.

Thanks,

radha.