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

BDC

Former Member
0 Likes
328

Hello Friends,

Could anyone give me program for Sales order for both call transaction and Session method with error handling.

2 REPLIES 2
Read only

Former Member
0 Likes
299

Hi

HI

yes both session and call transaction can be writen in one program

in the output screen there should be 2 radiobuutons just we need to select session or call transaction at that time

if you want the program then

after recording the T-code in SHDB

just goto the session overview there on application tool bar you will find one button PROGRAM

click on that program it will ask you to save that program with some name

after that execute that program

you can see that session and call transaction programs there

Read only

Former Member
0 Likes
299

hi sunil,

Just try this one.

For call Transaction.

report ZGBDCVA01_CALLTRAN

no standard page heading line-size 255.

TYPES : BEGIN OF STR,

AUART(4),

BSTKD(35),

KUNNR(10),

KUNNR1(10),

ZTERM(4),

INCO1(3),

INCO2(28),

MABNR(18),

KWMENG(15),

KBETR(11),

  • AUART TYPE VBAK-AUART,

  • BSTKD TYPE VBKD-BSTKD,

  • KUNNR TYPE KUAGV-KUNNR,

  • KUNNR1 TYPE KUWEV-KUNNR,

  • ZTERM TYPE VBKD-ZTERM,

  • INCO1 TYPE VBKD-INCO1,

  • INCO2 TYPE VBKD-INCO2,

  • MABNR TYPE RV45A-MABNR(01),

  • KWMENG TYPE RV45A-KWMENG(01),

  • KBETR TYPE KOMV-KBETR(01),

END OF STR.

DATA : IT_BDCMM TYPE STANDARD TABLE OF STR,

WA_BDCMM TYPE STR,

IT_BDCDATA TYPE STANDARD TABLE OF BDCDATA,

WA_BDCDATA TYPE BDCDATA,

V_PATH TYPE STRING .

PARAMETER FILEPATH LIKE IBIPPARMS-PATH OBLIGATORY.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILEPATH.

PERFORM GETFPATH USING FILEPATH.

V_PATH = FILEPATH.

start-of-selection.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

EXPORTING

FILENAME = V_PATH

  • FILETYPE = 'ASC'

  • HAS_FIELD_SEPARATOR = SPACE

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = SPACE

  • CODEPAGE = SPACE

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • VIRUS_SCAN_PROFILE =

  • IMPORTING

  • FILELENGTH =

  • HEADER =

CHANGING

DATA_TAB = IT_BDCMM

  • 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

  • NOT_SUPPORTED_BY_GUI = 17

  • ERROR_NO_GUI = 18

  • others = 19

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*perform open_group.

LOOP AT IT_BDCMM INTO WA_BDCMM.

CLEAR: IT_BDCDATA .

perform bdc_dynpro using 'SAPMV45A' '0101'.

perform bdc_field using 'BDC_CURSOR'

'VBAK-AUART'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBAK-AUART'

WA_BDCMM-AUART.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBKD-BSTKD'

WA_BDCMM-BSTKD.

perform bdc_field using 'KUAGV-KUNNR'

WA_BDCMM-KUNNR.

perform bdc_field using 'KUWEV-KUNNR'

WA_BDCMM-KUNNR1.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'04/06'.

perform bdc_field using 'BDC_OKCODE'

'=CHOO'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_CURSOR'

'VBKD-INCO2'.

perform bdc_field using 'RV45A-KETDAT'

'2007/09/20'.

perform bdc_field using 'RV45A-KPRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'2007/09/20'.

perform bdc_field using 'CCDATA-CCINS'

''.

perform bdc_field using 'VBKD-ZTERM'

WA_BDCMM-ZTERM.

perform bdc_field using 'VBKD-INCO1'

WA_BDCMM-INCO1.

perform bdc_field using 'VBKD-INCO2'

WA_BDCMM-INCO2.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBKD-BSTKD'

WA_BDCMM-BSTKD.

perform bdc_field using 'KUAGV-KUNNR'

WA_BDCMM-KUNNR.

perform bdc_field using 'KUWEV-KUNNR'

WA_BDCMM-KUNNR1.

perform bdc_field using 'RV45A-KETDAT'

'2007/09/20'.

perform bdc_field using 'RV45A-KPRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'2007/09/20'.

perform bdc_field using 'VBKD-ZTERM'

WA_BDCMM-ZTERM.

perform bdc_field using 'VBKD-INCO1'

WA_BDCMM-INCO1.

perform bdc_field using 'VBKD-INCO2'

WA_BDCMM-INCO2.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(01)'.

perform bdc_field using 'RV45A-MABNR(01)'

WA_BDCMM-MABNR.

perform bdc_field using 'RV45A-KWMENG(01)'

WA_BDCMM-KWMENG.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBKD-BSTKD'

WA_BDCMM-BSTKD.

perform bdc_field using 'KUAGV-KUNNR'

WA_BDCMM-KUNNR.

perform bdc_field using 'KUWEV-KUNNR'

WA_BDCMM-KUNNR1.

perform bdc_field using 'RV45A-KETDAT'

'2007/09/20'.

perform bdc_field using 'RV45A-KPRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'2007/09/20'.

perform bdc_field using 'VBKD-ZTERM'

WA_BDCMM-ZTERM.

perform bdc_field using 'VBKD-INCO1'

WA_BDCMM-INCO1.

perform bdc_field using 'VBKD-INCO2'

WA_BDCMM-INCO2.

perform bdc_field using 'BDC_CURSOR'

'KOMV-KBETR(01)'.

perform bdc_field using 'KOMV-KBETR(01)'

WA_BDCMM-KBETR.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'=SICH'.

perform bdc_field using 'VBKD-BSTKD'

WA_BDCMM-BSTKD.

perform bdc_field using 'KUAGV-KUNNR'

WA_BDCMM-KUNNR.

perform bdc_field using 'KUWEV-KUNNR'

WA_BDCMM-KUNNR1.

perform bdc_field using 'RV45A-KETDAT'

'2007/09/20'.

perform bdc_field using 'RV45A-KPRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'2007/09/20'.

perform bdc_field using 'VBKD-ZTERM'

WA_BDCMM-ZTERM.

perform bdc_field using 'VBKD-INCO1'

WA_BDCMM-INCO1.

perform bdc_field using 'VBKD-INCO2'

WA_BDCMM-INCO2.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(02)'.

*perform bdc_transaction using 'VA01'.

CALL TRANSACTION 'VA01' USING IT_BDCDATA UPDATE 'S' MODE 'A' .

*perform close_group.

ENDLOOP.

&----


*& Form GETFPATH

&----


  • text

----


  • -->P_P_FPATH text

----


FORM GETFPATH USING P_FILEPATH.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

IMPORTING

FILE_NAME = FILEPATH .

ENDFORM. " GETFPATH

&----


*& Form bdc_dynpro

&----


  • text

----


  • -->P_0167 text

  • -->P_0168 text

----


FORM bdc_dynpro USING PROGRAM DYNPRO.

CLEAR WA_BDCDATA .

WA_BDCDATA-PROGRAM = PROGRAM.

WA_BDCDATA-DYNPRO = DYNPRO.

WA_BDCDATA-DYNBEGIN = 'X'.

APPEND WA_BDCDATA TO IT_BDCDATA .

ENDFORM. " bdc_dynpro

&----


*& Form bdc_field

&----


  • text

----


  • -->P_0242 text

  • -->P_0243 text

----


FORM bdc_field USING FNAM FVAL .

CLEAR WA_BDCDATA .

WA_BDCDATA-FNAM = FNAM .

WA_BDCDATA-FVAL = FVAL .

APPEND WA_BDCDATA TO IT_BDCDATA .

ENDFORM. " bdc_field

-


<u><b>For session:</b></u>

REPORT ZGBDCVA01_SESSION NO STANDARD PAGE HEADING LINE-SIZE 255.

TYPES : BEGIN OF STR,

AUART(4),

BSTKD(35),

KUNNR(10),

KUNNR1(10),

ZTERM(4),

INCO1(3),

INCO2(28),

MABNR(18),

KWMENG(15),

KBETR(11),

END OF STR.

DATA : IT_BDCMM TYPE STANDARD TABLE OF STR,

WA_BDCMM TYPE STR,

IT_BDCDATA TYPE STANDARD TABLE OF BDCDATA,

WA_BDCDATA TYPE BDCDATA,

V_PATH TYPE STRING .

PARAMETER FILEPATH LIKE IBIPPARMS-PATH OBLIGATORY.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILEPATH.

PERFORM GETFPATH USING FILEPATH.

V_PATH = FILEPATH.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

EXPORTING

FILENAME = V_PATH

  • FILETYPE = 'ASC'

  • HAS_FIELD_SEPARATOR = SPACE

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = SPACE

  • CODEPAGE = SPACE

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • VIRUS_SCAN_PROFILE =

  • IMPORTING

  • FILELENGTH =

  • HEADER =

CHANGING

DATA_TAB = IT_BDCMM

  • 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

  • NOT_SUPPORTED_BY_GUI = 17

  • ERROR_NO_GUI = 18

  • others = 19

.

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 = 'SESSION'

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

start-of-selection.

*perform open_group.

LOOP AT IT_BDCMM INTO WA_BDCMM.

CLEAR: IT_BDCDATA .

perform bdc_dynpro using 'SAPMV45A' '0101'.

perform bdc_field using 'BDC_CURSOR'

'VBAK-AUART'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBAK-AUART'

WA_BDCMM-AUART.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBKD-BSTKD'

WA_BDCMM-BSTKD.

perform bdc_field using 'KUAGV-KUNNR'

WA_BDCMM-KUNNR.

perform bdc_field using 'KUWEV-KUNNR'

WA_BDCMM-KUNNR1.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'04/06'.

perform bdc_field using 'BDC_OKCODE'

'=CHOO'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_CURSOR'

'VBKD-INCO2'.

perform bdc_field using 'RV45A-KETDAT'

'2007/09/20'.

perform bdc_field using 'RV45A-KPRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'2007/09/20'.

perform bdc_field using 'CCDATA-CCINS'

''.

perform bdc_field using 'VBKD-ZTERM'

WA_BDCMM-ZTERM.

perform bdc_field using 'VBKD-INCO1'

WA_BDCMM-INCO1.

perform bdc_field using 'VBKD-INCO2'

WA_BDCMM-INCO2.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBKD-BSTKD'

WA_BDCMM-BSTKD.

perform bdc_field using 'KUAGV-KUNNR'

WA_BDCMM-KUNNR.

perform bdc_field using 'KUWEV-KUNNR'

WA_BDCMM-KUNNR1.

perform bdc_field using 'RV45A-KETDAT'

'2007/09/20'.

perform bdc_field using 'RV45A-KPRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'2007/09/20'.

perform bdc_field using 'VBKD-ZTERM'

WA_BDCMM-ZTERM.

perform bdc_field using 'VBKD-INCO1'

WA_BDCMM-INCO1.

perform bdc_field using 'VBKD-INCO2'

WA_BDCMM-INCO2.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(01)'.

perform bdc_field using 'RV45A-MABNR(01)'

WA_BDCMM-MABNR.

perform bdc_field using 'RV45A-KWMENG(01)'

WA_BDCMM-KWMENG.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBKD-BSTKD'

WA_BDCMM-BSTKD.

perform bdc_field using 'KUAGV-KUNNR'

WA_BDCMM-KUNNR.

perform bdc_field using 'KUWEV-KUNNR'

WA_BDCMM-KUNNR1.

perform bdc_field using 'RV45A-KETDAT'

'2007/09/20'.

perform bdc_field using 'RV45A-KPRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'2007/09/20'.

perform bdc_field using 'VBKD-ZTERM'

WA_BDCMM-ZTERM.

perform bdc_field using 'VBKD-INCO1'

WA_BDCMM-INCO1.

perform bdc_field using 'VBKD-INCO2'

WA_BDCMM-INCO2.

perform bdc_field using 'BDC_CURSOR'

'KOMV-KBETR(01)'.

perform bdc_field using 'KOMV-KBETR(01)'

WA_BDCMM-KBETR.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'=SICH'.

perform bdc_field using 'VBKD-BSTKD'

WA_BDCMM-BSTKD.

perform bdc_field using 'KUAGV-KUNNR'

WA_BDCMM-KUNNR.

perform bdc_field using 'KUWEV-KUNNR'

WA_BDCMM-KUNNR1.

perform bdc_field using 'RV45A-KETDAT'

'2007/09/20'.

perform bdc_field using 'RV45A-KPRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'2007/09/20'.

perform bdc_field using 'VBKD-ZTERM'

WA_BDCMM-ZTERM.

perform bdc_field using 'VBKD-INCO1'

WA_BDCMM-INCO1.

perform bdc_field using 'VBKD-INCO2'

WA_BDCMM-INCO2.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(02)'.

*perform bdc_transaction using 'VA01'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'VA01'

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

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*perform close_group.

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 GETFPATH

&----


  • text

----


  • -->P_P_FPATH text

----


FORM GETFPATH USING P_FILEPATH.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

IMPORTING

FILE_NAME = FILEPATH .

ENDFORM. " GETFPATH

&----


*& Form bdc_dynpro

&----


  • text

----


  • -->P_0167 text

  • -->P_0168 text

----


FORM bdc_dynpro USING PROGRAM DYNPRO.

CLEAR WA_BDCDATA .

WA_BDCDATA-PROGRAM = PROGRAM.

WA_BDCDATA-DYNPRO = DYNPRO.

WA_BDCDATA-DYNBEGIN = 'X'.

APPEND WA_BDCDATA TO IT_BDCDATA .

ENDFORM. " bdc_dynpro

&----


*& Form bdc_field

&----


  • text

----


  • -->P_0242 text

  • -->P_0243 text

----


FORM bdc_field USING FNAM FVAL .

CLEAR WA_BDCDATA .

WA_BDCDATA-FNAM = FNAM .

WA_BDCDATA-FVAL = FVAL .

APPEND WA_BDCDATA TO IT_BDCDATA .

ENDFORM. " bdc_field