0% found this document useful (0 votes)
170 views

BDC Session Error Program

The document contains ABAP code that is submitting transaction SM35 using BDC (Batch Data Communication) to retrieve log data. It collects log data from table APQI into a local table, saves the log data to a file, then submits the log again for further processing.

Uploaded by

Baskar Baz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
170 views

BDC Session Error Program

The document contains ABAP code that is submitting transaction SM35 using BDC (Batch Data Communication) to retrieve log data. It collects log data from table APQI into a local table, saves the log data to a file, then submits the log again for further processing.

Uploaded by

Baskar Baz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

DATA: BDCDATA TYPE TABLE OF BDCDATA WITH HEADER LINE.

DATA: BDCDATA2 TYPE TABLE OF BDCDATA WITH HEADER LINE.


start-of-selection.
DATA:SESSION_NAME(12) TYPE C.
SESSION_NAME = 'MANUPROG24'.
DATA: D TYPE D.
D = SY-DATUM.
DATA: T TYPE T.
T = SY-UZEIT.
""READING THE VALUE FROM THE SM35
DATA: APQI TYPE TABLE OF APQI WITH HEADER LINE.
CALL FUNCTION 'BDC_OBJECT_SELECT'
EXPORTING
NAME
= SESSION_NAME
DATATYPE
= 'BDC'
CLIENT
= SY-MANDT
DATE_FROM
= D
DATE_TO
= D
* TIME_FROM
= T
* TIME_TO
=
QSTATE
= ''
* SESSION_CREATOR
= '*'
TABLES
APQITAB
= APQI
* GROUPSEL
=
EXCEPTIONS
INVALID_DATATYPE
= 1
OTHERS
= 2.
READ TABLE APQI INDEX 1.
*BREAK-POINT.
**SUBMIT rsbdcbtc
**
TO SAP-SPOOL
**
DESTINATION space
**
IMMEDIATELY space
**
KEEP IN SPOOL space
**
WITHOUT SPOOL DYNPRO
***
USER session_NAME-userid
**
WITH queue_id EQ APQI-QID
**
WITH modus
EQ 'N'
**
WITH logall
EQ 'X' " Extended Log
**
WITH ERRFEND EQ 'X'
**
AND RETURN.
*SUBMIT RSBDCBTC WITH QUEUE_ID EQ APQI-QID AND RETURN.
*BREAK-POINT.
*SUBMIT RSBDCBDC WITH MAPPE EQ SESSION_NAME WITH VON EQ D WITH Z_VERARB EQ 'X'.
DATA:
DATA:
DATA:
DATA:

FILENAME TYPE STRING.


PATH TYPE STRING.
FULLPATH TYPE STRING.
USERACTION TYPE I.

"""GETTING THE PATH FROM THE USER.


CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
WINDOW_TITLE
= 'WHERE DO YOU WANT SAVE THE FILE'
*
DEFAULT_EXTENSION
=
*
DEFAULT_FILE_NAME
=

*
*
*
*

WITH_ENCODING
FILE_FILTER
INITIAL_DIRECTORY
PROMPT_ON_OVERWRITE
CHANGING
FILENAME
PATH
FULLPATH
USER_ACTION
*
FILE_ENCODING
EXCEPTIONS
CNTL_ERROR
ERROR_NO_GUI
NOT_SUPPORTED_BY_GUI
others
.
IF USERACTION EQ '0'.

=
=
=
= 'X'
=
=
=
=

FILENAME
PATH
FULLPATH
USERACTION
=

=
=
=
=

1
2
3
4

perform bdc_dynpro2
perform bdc_field2

using 'SAPMSBDC_CC' '1000'.


using 'BDC_OKCODE'
'=STA'.
perform bdc_field2
using 'D0100-MAPN'
'*'.
perform bdc_field2
using 'D0100-CREATOR'
'*'.
perform bdc_field2
using 'BDC_CURSOR'
'ITAB_APQI-GROUPID(01)'.
perform bdc_field2
using 'TC_MARK(01)'
'X'.
perform bdc_dynpro2
using 'SAPMSBDC_CC' '0300'.
perform bdc_field2
using 'BDC_CURSOR'
'D0300-BATCH'.
perform bdc_field2
using 'BDC_OKCODE'
'=ABSP'.
perform bdc_field2
using 'D0300-HELL'
''.
perform bdc_field2
using 'D0300-BATCH'
'X'.
perform bdc_field2
using 'D0300-DYDEFSIZE'
'X'.
CALL TRANSACTION 'SM35' USING BDCDATA2 MODE 'N'.
""""
IF SY-SUBRC EQ '0'.
WAIT UP TO 10 SECONDS.
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field

using 'SAPMSBDC_CC' '1000'.


using 'BDC_OKCODE'
'=ANAQ'.
using 'D0100-MAPN'
'*'.
using 'D0100-CREATOR'
'*'.
using 'BDC_CURSOR'
'ITAB_APQI-GROUPID(01)'.
using 'TC_MARK(01)'
'X'.
using 'RSBDC_PROTOCOL' '0100'.
using 'BDC_OKCODE'
'=PICK'.
using 'BDC_CURSOR'

'LIST_BDCLD-EDATE(01)'.
using 'TC_MARK(01)'
'X'.
perform bdc_dynpro
using 'RSBDC_PROTOCOL' '1400'.
perform bdc_field
using 'BDC_CURSOR'
'TXT-GRPN'.
perform bdc_field
using 'BDC_OKCODE'
'=PRI'.
*******perform bdc_dynpro
using 'SAPMSSY0' '0120'.
*******perform bdc_field
using 'BDC_OKCODE'
*******
'=&ILT'.
*******perform bdc_dynpro
using 'SAPLSKBH' '0830'.
*******perform bdc_field
using 'BDC_CURSOR'
*******
'GT_FIELD_LIST-SELTEXT(08)'.
*******perform bdc_field
using 'BDC_OKCODE'
*******
'=WLSE'.
*******perform bdc_field
using 'GT_FIELD_LIST-MARK(08)'
*******
'X'.
*******perform bdc_dynpro
using 'SAPLSKBH' '0830'.
*******perform bdc_field
using 'BDC_CURSOR'
*******
'GT_WRITE_LIST-SELTEXT(01)'.
*******perform bdc_field
using 'BDC_OKCODE'
*******
'=CONT'.
*******perform bdc_field
using 'GT_WRITE_LIST-MARK(01)'
*******
'X'.
*******perform bdc_dynpro
using 'SAPLSSEL' '1104'.
*******perform bdc_field
using 'BDC_OKCODE'
*******
'=CRET'.
*******perform bdc_field
using 'BDC_CURSOR'
*******
'%%DYN001-LOW'.
*******perform bdc_field
using '%%DYN001-LOW'
*******
'E'.
perform bdc_dynpro
using 'SAPMSSY0' '0120'.
perform bdc_field
using 'BDC_OKCODE'
'=%PC'.
perform bdc_dynpro
using 'SAPLSPO5' '0101'.
perform bdc_field
using 'BDC_CURSOR'
'SPOPLI-SELFLAG(02)'.
perform bdc_field
using 'BDC_OKCODE'
'=OK'.
perform bdc_field
using 'SPOPLI-SELFLAG(01)'
''.
perform bdc_field
using 'SPOPLI-SELFLAG(02)'
'X'.
perform bdc_dynpro
using 'SAPLSFES' '0200'.
perform bdc_field
using 'BDC_CURSOR'
'DY_FILENAME'.
perform bdc_field
using 'BDC_OKCODE'
'=FILE'.
perform bdc_field
using 'DY_PATH'
PATH.
perform bdc_field
using 'DY_FILENAME'
FILENAME.
perform bdc_dynpro
using 'SAPMSSY0' '0120'.
perform bdc_field
using 'BDC_OKCODE'
'=&F03'.
perform bdc_dynpro
using 'RSBDC_PROTOCOL' '1400'.
perform bdc_field
using 'BDC_CURSOR'
'TXT-GRPN'.
CALL TRANSACTION 'SM35' USING BDCDATA MODE 'N'.
perform bdc_field

ENDIF.
ELSE.
MESSAGE 'USER HAS CANCELLED THE OPERATION' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.
*----------------------------------------------------------------------*
*
Start new screen
*
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
*
Insert field
*
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> SPACE.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM.

*----------------------------------------------------------------------*
*
Start new screen
*
*----------------------------------------------------------------------*
FORM BDC_DYNPRO2 USING PROGRAM DYNPRO.
CLEAR BDCDATA2.
BDCDATA2-PROGRAM = PROGRAM.
BDCDATA2-DYNPRO = DYNPRO.
BDCDATA2-DYNBEGIN = 'X'.
APPEND BDCDATA2.
ENDFORM.
*----------------------------------------------------------------------*
*
Insert field
*
*----------------------------------------------------------------------*
FORM BDC_FIELD2 USING FNAM FVAL.
IF FVAL <> SPACE.
CLEAR BDCDATA2.
BDCDATA2-FNAM = FNAM.
BDCDATA2-FVAL = FVAL.
APPEND BDCDATA2.
ENDIF.
ENDFORM.

You might also like