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.......
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
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |