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

Regarding Bapi...

Former Member
0 Likes
445

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.

1 ACCEPTED SOLUTION
Read only

naimesh_patel
Active Contributor
0 Likes
410

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

2 REPLIES 2
Read only

Former Member
0 Likes
410

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....

Read only

naimesh_patel
Active Contributor
0 Likes
411

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