‎2007 Dec 05 5:58 PM
Hello Friends,
Could anyone give me program for Sales order for both call transaction and Session method with error handling.
‎2007 Dec 06 4:36 AM
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
‎2007 Dec 06 4:42 AM
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