‎2006 Jul 24 8:18 AM
Hi friends,
can u pls give me the logic.
have a look at my program.
DATA : T_ORDER_HEADER_IN TYPE BAPISDHEAD OCCURS 0 WITH HEADER LINE,
ORDERNO TYPE BAPIVBELN-VBELN OCCURS 0 WITH HEADER LINE,
T_RETURN TYPE BAPIRETURN1 OCCURS 0 WITH HEADER LINE,
T_ORDER_ITEMS_IN TYPE BAPIITEMIN OCCURS 0 WITH HEADER LINE,
T_ORDER_PARTNERS TYPE BAPIPARTNR OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF ITAB OCCURS 0,
AUART TYPE AUART,
VKORG TYPE VKORG,
VTWEG TYPE VTWEG,
SPART TYPE SPART,
MATNR TYPE MATNR,
WMENGC TYPE WMENGC,
PARVW TYPE PARVW,
KUNNR TYPE KUNNR,
END OF ITAB.
data : begin of t_source occurs 0,
AUART TYPE AUART,
VKORG TYPE VKORG,
VTWEG TYPE VTWEG,
SPART TYPE SPART,
MATNR TYPE MATNR,
WMENGC TYPE WMENGC,
PARVW TYPE PARVW,
KUNNR TYPE KUNNR,
end of t_source.
********my flat file data
***aa 0001 01 01 t-f299 0000000000010 sp 0000001000
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = 'C:\VA01.TXT'
FILETYPE = 'DAT'
HEADLEN = ' '
LINE_EXIT = ' '
TRUNCLEN = ' '
USER_FORM = ' '
USER_PROG = ' '
DAT_D_FORMAT = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at itab.
if sy-subrc = 0.
at new kunnr.
t_source-auart = itab-auart.
t_source-vkorg = itab-vkorg.
t_source-vtweg = itab-vtweg.
t_source-spart = itab-spart.
t_source-matnr = itab-matnr.
t_source-wmengc = itab-wmengc.
t_source-parvw = itab-parvw.
t_source-kunnr = itab-kunnr.
append t_source.
endat.
else.
t_source-auart = itab-auart.
t_source-vkorg = itab-vkorg.
t_source-vtweg = itab-vtweg.
t_source-spart = itab-spart.
t_source-matnr = itab-matnr.
t_source-wmengc = itab-wmengc.
t_source-parvw = itab-parvw.
append t_source.
endif.
*write : / t_source-auart,t_source-vkorg,t_source-vtweg,t_source-spart,t_source-matnr,t_source-wmengc,t_source-parvw,t_source-kunnr.
endloop.
*LOOP AT ITAB.
*WRITE : / ITAB-AUART.
*ENDLOOP.
LOOP AT t_source.
T_ORDER_HEADER_IN-DOC_TYPE = t_source-AUART.
T_ORDER_HEADER_IN-SALES_ORG = t_source-VKORG.
T_ORDER_HEADER_IN-DISTR_CHAN = t_source-VTWEG.
T_ORDER_HEADER_IN-DIVISION = t_source-SPART.
APPEND T_ORDER_HEADER_IN.
T_ORDER_ITEMS_IN-MATERIAL = t_source-MATNR.
T_ORDER_ITEMS_IN-REQ_QTY = t_source-WMENGC.
APPEND T_ORDER_ITEMS_IN.
T_ORDER_PARTNERS-PARTN_ROLE = t_source-PARVW.
T_ORDER_PARTNERS-PARTN_NUMB = t_source-KUNNR.
APPEND T_ORDER_PARTNERS.
ENDLOOP.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT1'
EXPORTING
ORDER_HEADER_IN = T_ORDER_HEADER_IN
WITHOUT_COMMIT = ' '
CONVERT_PARVW_AUART = 'X'
IMPORTING
SALESDOCUMENT = ORDERNO
SOLD_TO_PARTY =
SHIP_TO_PARTY =
BILLING_PARTY =
RETURN = T_RETURN
TABLES
ORDER_ITEMS_IN = T_ORDER_ITEMS_IN
ORDER_PARTNERS = T_ORDER_PARTNERS
ORDER_ITEMS_OUT =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CCARD =
ORDER_CFGS_BLOB =
ORDER_SCHEDULE_EX =
.
WRITE : ORDERNO.
WRITE : / T_RETURN-TYPE , T_RETURN-MESSAGE.
‎2006 Jul 24 8:24 AM
Hello,
DATA : BEGIN OF itab OCCURS 0,
<b>AUART TYPE AUART,</b>
<b>KUNNR TYPE KUNNR,</b>
VKORG TYPE VKORG,
VTWEG TYPE VTWEG,
SPART TYPE SPART,
MATNR TYPE MATNR,
WMENGC TYPE WMENGC,
PARVW TYPE PARVW,
END OF itab.
Sort itab by auart kunnr.
Loop at itab.
at new kunnr.
f_new = 'X'.
endat.
if f_new = 'X'.
clear f_new.
*move data from itab to t_source.
endif.
endloop.
Regards,
Naimesh
‎2006 Jul 24 8:20 AM
How to separate the data on new customer and new order type...i.e, if a new customer comes he has to get new sales order and the same with new order type how to write the logic....
‎2006 Jul 24 8:24 AM
Hello,
DATA : BEGIN OF itab OCCURS 0,
<b>AUART TYPE AUART,</b>
<b>KUNNR TYPE KUNNR,</b>
VKORG TYPE VKORG,
VTWEG TYPE VTWEG,
SPART TYPE SPART,
MATNR TYPE MATNR,
WMENGC TYPE WMENGC,
PARVW TYPE PARVW,
END OF itab.
Sort itab by auart kunnr.
Loop at itab.
at new kunnr.
f_new = 'X'.
endat.
if f_new = 'X'.
clear f_new.
*move data from itab to t_source.
endif.
endloop.
Regards,
Naimesh