Application Development 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: 

BAPI_SALESORDER_CREATEFROMDAT2

Former Member
0 Kudos

hey all..

i realy need help on this...

BAPI_SALESORDER_CREATEFROMDAT2

i have items , quantities,plant ,location and customer for that order

now how am i supposed to call this bapi and what data should i pass with this..

its says i need partener table,item table and header data as essential elements to pass in this bapi.

can any one give me an exact idea how to call this badi ....

2 REPLIES 2

dhruv_shah3
Active Contributor
0 Kudos

Hi,

Use the following program



*&---------------------------------------------------------------------*
*& Report  ZDS_BAPI_SO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZDS_BAPI_SO.

DATA: SALES_DOCU TYPE BAPIVBELN-VBELN.

DATA: WA_HEADER TYPE BAPISDHD1,
      WA_PARTNER TYPE BAPIPARNR,
      WA_ITEM TYPE BAPISDITM,
      WA_RETURN TYPE BAPIRET2.

DATA: IT_PARTNER TYPE STANDARD TABLE OF BAPIPARNR,
      IT_ITEM TYPE STANDARD TABLE OF BAPISDITM,
      IT_RETURN TYPE STANDARD TABLE OF BAPIRET2.

WA_HEADER-DOC_TYPE = 'TA'.
WA_HEADER-SALES_ORG = '1000'.
WA_HEADER-DISTR_CHAN = '12'.
WA_HEADER-DIVISION = '00'.

WA_ITEM-MATERIAL = 'L-60F'.

APPEND WA_ITEM TO IT_ITEM.

WA_PARTNER-PARTN_ROLE = 'AG'.
WA_PARTNER-PARTN_NUMB = '0000001001'.

APPEND WA_PARTNER TO IT_PARTNER.

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2' 
  EXPORTING
*   SALESDOCUMENTIN               =
    ORDER_HEADER_IN               = WA_HEADER
*   ORDER_HEADER_INX              =
*   SENDER                        =
*   BINARY_RELATIONSHIPTYPE       =
*   INT_NUMBER_ASSIGNMENT         =
*   BEHAVE_WHEN_ERROR             =
*   LOGIC_SWITCH                  =
*   TESTRUN                       =
*   CONVERT                       = ' '
 IMPORTING
   SALESDOCUMENT                 = SALES_DOCU
  TABLES
   RETURN                        = IT_RETURN
   ORDER_ITEMS_IN                = IT_ITEM
*   ORDER_ITEMS_INX               =
    ORDER_PARTNERS                = IT_PARTNER
*   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 SALES_DOCU IS NOT INITIAL.
    WRITE:/'SO CREATED',SALES_DOCU.
ELSE.
    LOOP AT IT_RETURN INTO WA_RETURN.
        WRITE:/ WA_RETURN-MESSAGE.
    ENDLOOP.
ENDIF.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
 EXPORTING
   WAIT          = 'X'
* IMPORTING
*   RETURN        =
          .


HTH

Regards,

Dhruv Shah

Former Member
0 Kudos

Hi,

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

ORDER_HEADER_IN = SDHD1

INT_NUMBER_ASSIGNMENT = 'X'

LOGIC_SWITCH = LOGIC_SWITCH

IMPORTING

SALESDOCUMENT = DOC_NUMBER

TABLES

RETURN = T_RET2

ORDER_ITEMS_IN = T_SDITM

ORDER_PARTNERS = T_PARNR

ORDER_SCHEDULES_IN = T_SCHDL

ORDER_CONDITIONS_IN = T_CND

ORDER_CCARD = T_CCARD

ORDER_TEXT = T_SDTEXT.

LOOP AT T_RET2 INTO RET2.

IF RET2-TYPE = C_MESSAGE_TYPE_ERROR OR

RET2-TYPE = C_MESSAGE_TYPE_ABORT.

MOVE-CORRESPONDING RET2 TO PE_RETURN1.

EXIT.

ENDIF.

ENDLOOP.

  • >>> OSS note begin: 483395.

IF NOT PE_RETURN1 IS INITIAL.

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

EXIT.

ENDIF.

  • <<< OSS note end: 483395.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = C_ACTIVE

IMPORTING

RETURN = RET2.

IF NOT RET2 IS INITIAL.

MOVE-CORRESPONDING RET2 TO PE_RETURN1.

EXIT.

ENDIF.

Better to get sample programs by clicking where used list.

B'coz u can understand all str and table population in sap program easily comparing in this sdn editor.

Once u check a sample program, I hope u can easily do it.

Regards,

Subbu