Wednesday, May 2, 2012

BDC Program in infotype 0006

report ZIT0006 .
* no standard page heading line-size 255.

types : begin of ty_tab,
* pernr type pernr,
* choic type choic,
BEGDA type BEGDA,
NAME2 type NAME2,
STRAS type STRAS,
LOCAT type LOCAT,
ORT01 type ORT01,
ORT02 type ORT02,
STATE type STATE,
PSTLZ type PSTLZ,
* LAND1 type LAND1,
end of ty_tab.


data : wa_tab type ty_tab,
it_tab type table of ty_tab.

data : wa_bdcdata type bdcdata,
it_bdcdata type table of bdcdata,
g_file type ibipparms-path.

parameters : p_file type string,
p_ses TYPE char12.


at SELECTION-SCREEN on VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'p_file'
IMPORTING
FILE_NAME = g_file.
p_file = g_file.




*include bdcrecx1.

start-of-selection.

CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = p_file
* FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM = ' '
* VIRUS_SCAN_PROFILE =
* NO_AUTH_CHECK = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = it_tab
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.

CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
* DEST = FILLER8
GROUP = p_ses
* HOLDDATE = FILLER8
KEEP = 'X'
USER = SY-UNAME
* RECORD = FILLER1
* PROG = SY-CPROG
* DCPFM = '%'
* DATFM = '%'
* IMPORTING
* QID =
EXCEPTIONS
CLIENT_INVALID = 1
DESTINATION_INVALID = 2
GROUP_INVALID = 3
GROUP_IS_LOCKED = 4
HOLDDATE_INVALID = 5
INTERNAL_ERROR = 6
QUEUE_ERROR = 7
RUNNING = 8
SYSTEM_LOCK_ERROR = 9
USER_INVALID = 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.


REFRESH IT_BDCdata.
*perform open_group.

LOOP AT it_tab into wa_tab.

perform bdc_dynpro using 'SAPMP50A' '1000' 'X'.
perform bdc_field using 'BDC_OKCODE'
'=INS'.
perform bdc_field using 'RP50G-PERNR'
'9'.
perform bdc_field using 'RP50G-TIMR6'
'X'.
perform bdc_field using 'BDC_CURSOR'
'RP50G-SUBTY'.
perform bdc_field using 'RP50G-CHOIC'
'Addresses'.
perform bdc_field using 'RP50G-SUBTY'
'1'.
perform bdc_dynpro using 'MP000600' '2010' 'X'.
perform bdc_field using 'BDC_CURSOR'
'P0006-STATE'.
perform bdc_field using 'BDC_OKCODE'
'UPD'.
perform bdc_field using 'P0006-BEGDA'
wa_tab-begda.
*perform bdc_field using 'P0006-ENDDA'
* '31.12.9999'.
perform bdc_field using 'P0006-NAME2'
wa_tab-name2.
perform bdc_field using 'P0006-STRAS'
wa_tab-stras.
perform bdc_field using 'P0006-LOCAT'
wa_tab-locat.
perform bdc_field using 'P0006-ORT01'
wa_tab-ort01.
perform bdc_field using 'P0006-ORT02'
wa_tab-ort02.
perform bdc_field using 'P0006-STATE'
wa_tab-state.
perform bdc_field using 'P0006-PSTLZ'
wa_tab-pstlz.
perform bdc_field using 'P0006-LAND1'
'US'.
*perform bdc_transaction using 'PA30'.
*
*perform close_group.

CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'PA30'
* POST_LOCAL = NOVBLOCAL
* PRINTING = NOPRINT
* SIMUBATCH = ' '
* CTUPARAMS = ' '
TABLES
DYNPROTAB = it_bdcdata
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7
.
IF SY-SUBRC <> 0.
refresh it_bdcdata.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
clear wa_tab.
endloop.

CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_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.
*&---------------------------------------------------------------------*
*& Form BDC_DYNPRO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*

FORM BDC_DYNPRO USING p_prog
p_dyn
p_dynb.
wa_bdcdata-program = p_prog.
wa_bdcdata-dynpro = p_dyn.
wa_bdcdata-dynbegin = p_dynb.
append wa_bdcdata to it_bdcdata.
clear wa_bdcdata.
ENDFORM. " BDC_DYNPRO
*&---------------------------------------------------------------------*
*& Form BDC_FIELD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*

FORM BDC_FIELD USING p_fnam
p_fval.
wa_bdcdata-fnam = p_fnam.
wa_bdcdata-fval = p_fval.
append wa_bdcdata to it_bdcdata.
clear wa_bdcdata.
ENDFORM. " BDC_FIELD

No comments:

Tutorials on SAP-ABAP

Adobe Interactive Forms Tutorials

Business Server Pages (BSP)

Userexits/BADIs

Web Dynpro for ABAP (Step by step procedure for web dynpro,Tutorials on Web Dynpro,)

ALV Tutorials

goodsites