how to create bdc for sales order ? if any one kow the
steps plz mail me at toamitshri@gmail.com
Answer Posted / mallik
report ZTEST_BDC_MA
no standard page heading line-size 255.
*DATA: ld_file LIKE rlgrap-filename.
DATA: gd_file type string.
*Internal tabe to store upload data
TYPES: BEGIN OF t_record,
AUART LIKE VBAK-AUART,
VKORG LIKE VBAK-VKORG,
VTWEG LIKE VBAK-VTWEG,
SPART LIKE VBAK-SPART,
KUNNR LIKE KUAGV-KUNNR,
KUNNR1 LIKE KUAGV-KUNNR,
MATNR LIKE MARA-MATNR,
PRCTR LIKE COBL-PRCTR,
END OF t_record.
DATA: it_record TYPE STANDARD TABLE OF t_record INITIAL
SIZE 0,
wa_record TYPE t_record.
*Text version of data table
TYPES: BEGIN OF t_uploadtxt,
AUART LIKE VBAK-AUART,
VKORG LIKE VBAK-VKORG,
VTWEG LIKE VBAK-VTWEG,
SPART LIKE VBAK-SPART,
KUNNR LIKE KUAGV-KUNNR,
KUNNR1 LIKE KUAGV-KUNNR,
MATNR LIKE MARA-MATNR,
PRCTR LIKE COBL-PRCTR,
END OF t_uploadtxt.
*Used to store BDC data
DATA: BEGIN OF bdc_tab OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdc_tab.
*Used to stores error information from CALL TRANSACTION
Function Module
*DATA: BEGIN OF messtab OCCURS 0.
* INCLUDE STRUCTURE bdcmsgcoll.
*DATA: END OF messtab.
gd_file = ' Your workstation file name'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = gd_file
has_field_separator = 'X' "file is TAB delimited
TABLES
data_tab = it_record
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 NE 0.
write: 'Error ', sy-subrc, 'returned from GUI_UPLOAD
FM'.
skip.
endif.
include bdcrecx1.
start-of-selection.
perform open_group.
Loop at it_record into wa_record.
perform bdc_dynpro using 'SAPMV45A' '0101'.
perform bdc_field using 'VBAK-AUART'
wa_record-auart.
perform bdc_field using 'VBAK-VKORG'
wa_record-vkorg.
perform bdc_field using 'VBAK-VTWEG'
wa_record-vtweg.
perform bdc_field using 'VBAK-SPART'
wa_record-spart.
perform bdc_dynpro using 'SAPMV45A' '4001'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'KUAGV-KUNNR'
wa_record-kunnr.
perform bdc_field using 'KUWEV-KUNNR'
wa_record-kunnr1.
perform bdc_field using 'BDC_CURSOR'
'RV45A-KWMENG(01)'.
perform bdc_field using 'RV45A-MABNR(01)'
wa_record-matnr.
perform bdc_field using 'RV45A-KWMENG(01)'
' 1'.
perform bdc_dynpro using 'SAPMV45A' '4001'.
perform bdc_field using 'BDC_OKCODE'
'=ITEM'.
perform bdc_field using 'KUAGV-KUNNR'
wa_record-kunnr.
perform bdc_field using 'KUWEV-KUNNR'
wa_record-kunnr1.
perform bdc_field using 'BDC_CURSOR'
'RV45A-MABNR(01)'.
perform bdc_dynpro using 'SAPMV45A' '4003'.
perform bdc_field using 'BDC_OKCODE'
'=T\07'.
perform bdc_field using 'BDC_CURSOR'
'RV45A-KWMENG'.
perform bdc_field using 'RV45A-KWMENG'
' 1,000'.
perform bdc_field using 'VBAP-VRKME'
'TA'.
perform bdc_field using 'RV45A-ETDAT'
'10.04.2010'.
perform bdc_field using 'RV45A-PRGBZ'
'D'.
perform bdc_field using 'VBKD-PRSDT'
'10.04.2010'.
perform bdc_dynpro using 'SAPMV45A' '4003'.
perform bdc_field using 'BDC_OKCODE'
'=T\06'.
perform bdc_field using 'BDC_CURSOR'
'VBAP-ABGRS'.
perform bdc_field using 'DKACB-FMORE'
'X'.
perform bdc_dynpro using 'SAPLKACB' '0002'.
perform bdc_field using 'BDC_CURSOR'
'COBL-PRCTR'.
perform bdc_field using 'BDC_OKCODE'
'=ENTE'.
perform bdc_field using 'COBL-PRCTR'
wa_record-prctr.
perform bdc_dynpro using 'SAPMV45A' '5003'.
perform bdc_field using 'BDC_OKCODE'
'/EBACK'.
perform bdc_field using 'BDC_CURSOR'
'KOMV-KSCHL(07)'.
perform bdc_dynpro using 'SAPMV45A' '4001'.
perform bdc_field using 'BDC_OKCODE'
'=SICH'.
perform bdc_field using 'KUAGV-KUNNR'
wa_record-kunnr.
perform bdc_field using 'KUWEV-KUNNR'
wa_record-kunnr1.
perform bdc_field using 'BDC_CURSOR'
'RV45A-MABNR(02)'.
perform bdc_transaction using 'VA01'.
endloop.
perform close_group.
| Is This Answer Correct ? | 0 Yes | 4 No |
Post New Answer View All Answers
What is an update task?
How we format the data before before write statement in report ?
What is the use of table control in bdc is it same in module pool table control? : abap bdc
What is dialog module?
correct all performance problem without changing any functionality REPORT z_assignment_01. DATA: gt_user TYPE TABLE OF usr02 WITH HEADER LINE, gt_user_role TYPE TABLE OF agr_users WITH HEADER LINE, ********** DO NOT CHANGE THIS SECTION ********** g_begintime TYPE i, g_endtime TYPE i, g_tottime TYPE i. DATA: BEGIN OF gt_output OCCURS 0, bname LIKE usr02-bname, name_text LIKE adrp-name_text, agr_name LIKE agr_users-agr_name, text LIKE agr_texts-text, role_count TYPE i, END OF gt_output. TYPE-POOLS: slis. START-OF-SELECTION. GET RUN TIME FIELD g_begintime. ********** END NO CHANGE ********** SELECT * INTO TABLE gt_user FROM usr02 WHERE class > 'E'. SELECT * INTO TABLE gt_user_role FROM agr_users FOR ALL ENTRIES IN gt_user WHERE uname = gt_user-bname. PERFORM combine_tables. PERFORM get_addl_data. ********** DO NOT CHANGE THIS SECTION ********** GET RUN TIME FIELD g_endtime. g_tottime = ( g_endtime / 1000000 ) - ( g_begintime / 1000000 ). MESSAGE s398(00) WITH g_tottime. PERFORM output. ********** END NO CHANGE ********** *&---------------------------------------------------------------------* *& Form combine_tables *&---------------------------------------------------------------------* * Combine user and role tables *----------------------------------------------------------------------* FORM combine_tables. DATA: ls_usr21 TYPE usr21, ls_adrp TYPE adrp, ls_texts TYPE agr_texts. LOOP AT gt_user. * Get user name SELECT * INTO ls_usr21 FROM usr21 WHERE bname = gt_user-bname. SELECT * INTO ls_adrp FROM adrp WHERE persnumber = ls_usr21-persnumber. gt_output-name_text = ls_adrp-name_text. ENDSELECT. ENDSELECT. LOOP AT gt_user_role WHERE uname = gt_user-bname. * Only process roles that are currently active CHECK gt_user_role-from_dat <= sy-datum AND gt_user_role-to_dat >= sy-datum. * Get role text SELECT * INTO ls_texts FROM agr_texts WHERE agr_name = gt_output-agr_name AND spras = sy-langu AND line = 0. gt_output-text = ls_texts-text. ENDSELECT. gt_output-bname = gt_user-bname. gt_output-agr_name = gt_user_role-agr_name. APPEND gt_output. ENDLOOP. ENDLOOP. ENDFORM. " combine_tables *&---------------------------------------------------------------------* *& Form get_addl_data *&---------------------------------------------------------------------* * Get extra fields *----------------------------------------------------------------------* FORM get_addl_data. DATA: l_count TYPE i. * Count number of roles per user SORT gt_user_role BY uname. LOOP AT gt_user_role. ADD 1 TO l_count. AT END OF uname. LOOP AT gt_output WHERE bname = gt_user_role-uname. gt_output-role_count = l_count. MODIFY gt_output. CLEAR l_count. ENDLOOP. ENDAT. ENDLOOP. ENDFORM. " get_addl_data *&---------------------------------------------------------------------* *& Form output *&---------------------------------------------------------------------* * Output report *----------------------------------------------------------------------* FORM output. DATA: lt_fieldcat TYPE slis_t_fieldcat_alv, ls_fieldcat TYPE slis_fieldcat_alv, l_repid LIKE sy-repid, ls_layout TYPE slis_layout_alv, ls_variant TYPE disvariant. l_repid = sy-repid. CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name = l_repid i_internal_tabname = 'GT_OUTPUT' i_inclname = l_repid CHANGING ct_fieldcat = lt_fieldcat 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. ls_fieldcat-seltext_l = 'Role Count'. ls_fieldcat-seltext_m = 'Role Count'. ls_fieldcat-seltext_s = 'Role Count'. ls_fieldcat-reptext_ddic = 'Role Count'. MODIFY lt_fieldcat FROM ls_fieldcat TRANSPORTING seltext_l seltext_m seltext_s reptext_ddic WHERE fieldname = 'ROLE_COUNT'. ls_layout-zebra = 'X'. ls_layout-colwidth_optimize = 'X'. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING is_layout = ls_layout it_fieldcat = lt_fieldcat i_save = 'A' is_variant = ls_variant TABLES t_outtab = gt_output 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. ENDFORM. " output
What are differences between at selection-screen and at selection-screen output?
Explain what are the different functions used in sap script?
In tm, if a group of employees gets 10 days of annual leave, what will be the time evaluation status? : sap abap hr
What are the check tables?
What are the differences between session method and call transaction method? : abap bdc
How we format the data before writing a statement in the report?
What is the difference between dialog program and a report?
What are the modes in lock objects? : sap abap data dictionary
what are the critical issues u face in ur project?
What are secondary indexes. How can we know which index is being used in a select query?