‎2007 Oct 24 5:37 AM
helo all,
i am using BAPI_SALESORDER_CREATEFROMDAT2 for creation of sales order with ref to another sales order when i am testing it is giving error as item number 000000 is error,i tried giving 00010 and 00001 also even its givibng the same error plz help me its urgent.......
‎2007 Oct 24 5:41 AM
Hi
Refer to the following code:
REPORT z_bapi .
TYPE-POOLS: slis.
SELECTION-SCREEN BEGIN OF BLOCK b1.
PARAMETERS: psalesor LIKE vbak-vkorg,
pdistch LIKE vbak-vtweg,
pdiv LIKE vbak-spart,
pdoctype LIKE vbak-auart,
path TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK b1.
DATA: saldocno LIKE vbak-vbeln.
declaration for fieldcatalog
DATA: catalog TYPE slis_t_fieldcat_alv.
wa_fieldcat TYPE slis_fieldcat_alv.
DATA: BEGIN OF itabgui OCCURS 10,
shipto LIKE vbak-kunnr,
soldto LIKE vbpa-kunnr,
mat LIKE vbap-matwa,
quan LIKE vbap-kwmeng,
END OF itabgui.
DATA: BEGIN OF itabop OCCURS 10,
ship LIKE vbak-kunnr,
sold LIKE vbpa-kunnr,
ordno LIKE vbak-vbeln,
numlin LIKE sy-tfill,
mess LIKE bapiret2-type,
mtext LIKE bapiret2-message,
END OF itabop.
DATA: gt_data LIKE bapisdhd1.
gt_data-sales_org = psalesor.
gt_data-distr_chan = pdistch.
gt_data-division = pdiv.
gt_data-doc_type = pdoctype.
DATA: orderit LIKE bapisditm OCCURS 0 WITH HEADER LINE,
sch LIKE bapischdl OCCURS 0 WITH HEADER LINE,
part LIKE bapiparnr OCCURS 0 WITH HEADER LINE.
DATA:l_path TYPE string,
ret TYPE bapiret2 OCCURS 0 WITH HEADER LINE.
l_path = path.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_path
filetype = 'ASC'
has_field_separator = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = itabgui
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF sy-subrc = 0.
LOOP AT itabgui.
WRITE: itabgui-mat.
ENDLOOP.
MESSAGE i001(z68416msg).
ENDIF.
*********************************************************
READ TABLE itabgui INDEX 1.
part-partn_numb = itabgui-shipto.
part-partn_role = 'WE'.
APPEND part.
part-partn_numb = itabgui-soldto.
part-partn_role = 'AG'.
APPEND part.
LOOP AT itabgui.
orderit-material = itabgui-mat.
sch-req_qty = itabgui-quan.
APPEND orderit.
APPEND sch.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
salesdocumentin =
order_header_in = gt_data
ORDER_HEADER_INX =
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
salesdocument = saldocno
TABLES
return = ret
order_items_in = orderit
ORDER_ITEMS_INX =
order_partners = part
order_schedules_in = sch
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 =
.
DESCRIBE TABLE orderit LINES sy-tfill.
orderit-lines = sy-tfill.
itabop-ship = itabgui-shipto.
itabop-sold = itabgui-soldto.
itabop-ordno = saldocno.
itabop-mat = itabgui-mat.
itabop-numlin = sy-tfill.
itabop-mess = ret-type.
itabop-mtext = ret-message.
APPEND itabop.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = space.
IMPORTING
RETURN =
ENDLOOP.
**IF sy-subrc = 0.
**
WRITE:/ ret-type.
WRITE: saldocno.
**
**ELSE.
**
WRITE: 'error'.
**
**ENDIF.
**
**
LOOP AT itabop.
WRITE: / itabop-ship,
itabop-sold,
itabop-ordno,
itabop-numlin,
itabop-mess,
itabop-mtext.
ENDLOOP.
REFRESH: catalog.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'Z_BAPI_68416'
i_internal_tabname = 'ITABOP'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = 'Z_BAPI_68416'
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = catalog
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
it_fieldcat = catalog
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = itabop
EXCEPTIONS
program_error = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Message was edited by:
Vasudha L
Message was edited by:
Vasudha L
‎2007 Oct 24 5:43 AM
Hi,
Check this sample code threads -
http://www.saptechies.com/bapi_salesorder_createfromdat2/
Hope this helps.
ashish