2007 May 11 6:13 AM
2007 May 11 6:19 AM
Hi,
While doing call transaction, if an error occurs in updation, we declare bdcmsgcoll and store our messages in it, to retreive error message ...
Using function module 'FORMAT_MESSAGE' you can capture the messages.
Here is a sample of the program code for that:
LOOP AT it_messtab.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = it_messtab-msgid
lang = it_messtab-msgspra
no = it_messtab-msgnr
v1 = it_messtab-msgv1
v2 = it_messtab-msgv2
IMPORTING
msg = g_msg
EXCEPTIONS
OTHERS = 0.
IF it_messtab-msgtyp = 'S'.
it_sucess-sucess_rec = g_msg.
it_sucess-lifnr = it_header-lifnr." Based on your field
it_sucess-tabix = v_lines.
APPEND it_sucess.
ELSEIF it_messtab-msgtyp = 'E'.
it_error-error_rec = g_msg.
it_error-lifnr = it_header-lifnr.
it_error-tabix = v_lines.
APPEND it_error.
ELSE.
it_info-info_rec = g_msg.
it_info-lifnr = it_header-lifnr.
it_info-tabix = v_lines.
APPEND it_info.
ENDIF.
ENDLOOP.
Regards
Sudheer
Hi,
While doing call transaction, if an error occurs in updation, we declare bdcmsgcoll and store our messages in it, to retreive error message ...
Using function module 'FORMAT_MESSAGE' you can capture the messages.
Here is a sample of the program code for that:
LOOP AT it_messtab.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = it_messtab-msgid
lang = it_messtab-msgspra
no = it_messtab-msgnr
v1 = it_messtab-msgv1
v2 = it_messtab-msgv2
IMPORTING
msg = g_msg
EXCEPTIONS
OTHERS = 0.
IF it_messtab-msgtyp = 'S'.
it_sucess-sucess_rec = g_msg.
it_sucess-lifnr = it_header-lifnr." Based on your field
it_sucess-tabix = v_lines.
APPEND it_sucess.
ELSEIF it_messtab-msgtyp = 'E'.
it_error-error_rec = g_msg.
it_error-lifnr = it_header-lifnr.
it_error-tabix = v_lines.
APPEND it_error.
ELSE.
it_info-info_rec = g_msg.
it_info-lifnr = it_header-lifnr.
it_info-tabix = v_lines.
APPEND it_info.
ENDIF.
ENDLOOP.
Regards
Sudheer
2007 May 11 6:14 AM
and also can any one give small example on that.
regards,
srinu.
2007 May 11 6:19 AM
Hi,
While doing call transaction, if an error occurs in updation, we declare bdcmsgcoll and store our messages in it, to retreive error message ...
Using function module 'FORMAT_MESSAGE' you can capture the messages.
Here is a sample of the program code for that:
LOOP AT it_messtab.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = it_messtab-msgid
lang = it_messtab-msgspra
no = it_messtab-msgnr
v1 = it_messtab-msgv1
v2 = it_messtab-msgv2
IMPORTING
msg = g_msg
EXCEPTIONS
OTHERS = 0.
IF it_messtab-msgtyp = 'S'.
it_sucess-sucess_rec = g_msg.
it_sucess-lifnr = it_header-lifnr." Based on your field
it_sucess-tabix = v_lines.
APPEND it_sucess.
ELSEIF it_messtab-msgtyp = 'E'.
it_error-error_rec = g_msg.
it_error-lifnr = it_header-lifnr.
it_error-tabix = v_lines.
APPEND it_error.
ELSE.
it_info-info_rec = g_msg.
it_info-lifnr = it_header-lifnr.
it_info-tabix = v_lines.
APPEND it_info.
ENDIF.
ENDLOOP.
Regards
Sudheer
2007 May 11 6:24 AM
2007 May 11 7:21 AM
hi,
FM FORMAT_messages is used to display error messages cought using BDCMSGCOLL in the call transaction method.
example:
REPORT ZSR_BDC_CT_ERROR.
DATA: BEGIN OF ITAB OCCURS 0,
LIFNR LIKE RF02K-LIFNR,
KTOKK LIKE RF02K-KTOKK,
NAME1 LIKE LFA1-NAME1,
SORTL LIKE LFA1-SORTL,
LAND1 LIKE LFA1-LAND1,
SPRAS LIKE LFA1-SPRAS,
END OF ITAB.
DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
it_error like itab occurs 0 with header line,
BDCMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
START-OF-SELECTION.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'z:\ct.txt'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
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.
LOOP AT ITAB.
REFRESH BDCTAB.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RF02K-LIFNR'
ITAB-LIFNR.
PERFORM BDC_FIELD USING 'RF02K-KTOKK'
ITAB-KTOKK.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'LFA1-SPRAS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'LFA1-NAME1'
ITAB-NAME1.
PERFORM BDC_FIELD USING 'LFA1-SORTL'
ITAB-SORTL.
PERFORM BDC_FIELD USING 'LFA1-LAND1'
ITAB-LAND1.
PERFORM BDC_FIELD USING 'LFA1-SPRAS'
ITAB-SPRAS.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'LFA1-KUNNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0130'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=YES'.
CALL TRANSACTION 'XK01' USING BDCTAB MODE 'A' UPDATE 'A' MESSAGES INTO BDCMSG.
if sy-subrc <> 0.
move-corresponding itab to it_error.
endif.
READ TABLE BDCMSG WITH KEY MSGTYP = 'E'.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = BDCMSG-MSGID
LANG = 'EN'
NO = BDCMSG-MSGNR
V1 = BDCMSG-MSGV1
V2 = BDCMSG-MSGV2
V3 = BDCMSG-MSGV3
V4 = BDCMSG-MSGV4
IMPORTING
MSG = BDCMSG-MSGV1
EXCEPTIONS
NOT_FOUND = 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.
WRITE 😕 BDCMSG-MSGNR,BDCMSG-MSGV1.
ENDLOOP.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = BIN_FILESIZE
filename = 'z:\cerror.txt'
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH = FILELENGTH
TABLES
data_tab = it_error
FIELDNAMES = FIELDNAMES
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
.
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 dynpro
&----
*FORM BDC_DYNPRO USING P_P1
P_P2.
CLEAR BDCTAB.
BDCTAB-PROGRAM = P_P1.
BDCTAB-DYNPRO = P_P2.
BDCTAB-DYNBEGIN = 'X'.
APPEND BDCTAB.
ENDFORM. " dynpro
&----
*& Form bdc_field
&----
FORM BDC_FIELD USING P_P3
P_P4.
CLEAR BDCTAB.
BDCTAB-FNAM = P_P3.
BDCTAB-FVAL = P_P4.
APPEND BDCTAB.
ENDFORM. " bdc_field
2007 May 11 8:28 AM
hi srinu,
FM format_message can help u to know the message about that particular message id,
this FM mosty we can use in BDC,
just have look on following BDC report then u can get the IDEA about this FM.
REPORT zbdc_bill_docu_cre_vfo1
NO STANDARD PAGE HEADING MESSAGE-ID zsmep.
&----
*& Request ID: ECCK900136
*& Author : seshu
*& Date : 30/03/2007
*& This report Creates Billing document Details through BDC-Call transaction
*& method and download error files to the Application server with fixed lenth.
&----
*data declaration...
DATA: path TYPE string,
path1 TYPE string.
DATA: BEGIN OF g_tab_vf01 OCCURS 0,
fkart TYPE fkart,
fbuda TYPE fbuda,
fkdat TYPE fkdat,
prsdt TYPE prsdt,
vbeln TYPE vbeln.
DATA: END OF g_tab_vf01.
DATA: BEGIN OF g_tab_down OCCURS 0,
fkart TYPE fkart,
fbuda TYPE fbuda,
fkdat TYPE fkdat,
prsdt TYPE prsdt,
vbeln TYPE vbeln.
DATA: END OF g_tab_down.
DATA: BEGIN OF g_tab_succ OCCURS 0,
vbeln TYPE vbeln,
message TYPE string.
DATA: END OF g_tab_succ.
DATA: BEGIN OF g_tab_error OCCURS 0,
vbeln TYPE vbeln,
message TYPE string.
DATA: END OF g_tab_error.
DATA: BEGIN OF g_tab_message OCCURS 0,
vbeln TYPE vbeln,
message TYPE string.
DATA: END OF g_tab_message.
*delcarations for blocked alv...
TYPE-POOLS: slis.
DATA: l_tab_fieldcatlog TYPE slis_t_fieldcat_alv,
l_tab_fieldcatlog1 TYPE slis_t_fieldcat_alv,
l_layout TYPE slis_layout_alv,
l_events TYPE slis_t_event,
l_events1 TYPE slis_t_event,
l_wa_events LIKE LINE OF l_events,
l_pos TYPE i,
report TYPE sy-repid.
*itab for mapping...
DATA: BEGIN OF tab_map OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF tab_map.
*itab for error messages...
DATA: BEGIN OF tab_error OCCURS 0.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF tab_error.
*selection screen declaration...
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-004.
PARAMETERS: file2(200) TYPE c DEFAULT 'seshu'.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: file(200) TYPE c DEFAULT 'arteria'.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN .
IF file2 EQ file.
MESSAGE e103(zsmep).
EXIT.
ENDIF.
*to get the source file from application server...
START-OF-SELECTION.
PERFORM call_ctm.
*display the output in blocked alv...
PERFORM disply_block_alv.
&----
*& Form call_ctm
&----
text
----
FORM call_ctm.
DATA: l_mode, l_message TYPE string,l_subrc TYPE sy-subrc.
l_mode = 'N'.
OPEN DATASET file2 FOR INPUT IN TEXT MODE ENCODING DEFAULT.
DO.
REFRESH tab_map.
READ DATASET file2 INTO g_tab_vf01.
IF sy-subrc <> 0.
EXIT.
ENDIF.
PERFORM sub USING 'SAPMV60A' '0102'.
PERFORM sub1 USING 'BDC_CURSOR'
'RV60A-PRSDT'.
PERFORM sub1 USING 'BDC_OKCODE'
'/00'.
PERFORM sub1 USING 'RV60A-FKART'
g_tab_vf01-fkart.
PERFORM sub1 USING 'RV60A-FBUDA'
g_tab_vf01-fbuda.
PERFORM sub1 USING 'RV60A-FKDAT'
g_tab_vf01-fkdat.
PERFORM sub1 USING 'RV60A-PRSDT'
g_tab_vf01-prsdt.
PERFORM sub1 USING 'KOMFK-VBELN(01)'
g_tab_vf01-vbeln.
PERFORM sub USING 'SAPMV60A' '0104'.
PERFORM sub1 USING 'BDC_CURSOR'
'VBRK-FKART'.
PERFORM sub1 USING 'BDC_OKCODE'
'=SICH'.
CALL TRANSACTION 'VF01' USING tab_map
MODE l_mode
UPDATE 'A'
MESSAGES INTO tab_error.
CLEAR l_subrc.
MOVE sy-subrc TO l_subrc.
LOOP AT tab_error.
IF l_subrc EQ 0.
IF tab_error-msgtyp EQ 'I' OR tab_error-msgtyp EQ 'S'.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = tab_error-msgid
lang = 'EN'
no = tab_error-msgnr
v1 = tab_error-msgv1
v2 = tab_error-msgv2
v3 = tab_error-msgv3
v4 = tab_error-msgv4
IMPORTING
msg = l_message
EXCEPTIONS
not_found = 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.
MOVE: g_tab_vf01-vbeln TO g_tab_succ-vbeln,
l_message TO g_tab_succ-message.
APPEND g_tab_succ.
CLEAR g_tab_succ.
ELSEIF
tab_error-msgtyp = 'E'.
ELSE.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = tab_error-msgid
lang = 'EN'
no = tab_error-msgnr
v1 = tab_error-msgv1
v2 = tab_error-msgv2
v3 = tab_error-msgv3
v4 = tab_error-msgv4
IMPORTING
msg = l_message
EXCEPTIONS
not_found = 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.
IF g_tab_message-message IS NOT INITIAL.
CONCATENATE g_tab_message-message l_message INTO g_tab_message-message SEPARATED BY ';'.
ELSE.
MOVE l_message TO g_tab_message-message.
ENDIF.
MOVE g_tab_vf01-vbeln TO g_tab_message-vbeln.
MOVE-CORRESPONDING g_tab_vf01 TO g_tab_down.
APPEND g_tab_down.
ENDIF.
ENDLOOP.
APPEND g_tab_message.
REFRESH: tab_error.
LOOP AT g_tab_message.
MOVE: g_tab_message-vbeln TO g_tab_error-vbeln,
g_tab_message-message TO g_tab_error-message.
APPEND g_tab_error.
ENDLOOP.
REFRESH: g_tab_message.
ENDDO.
CLEAR: g_tab_error, g_tab_down.
DELETE ADJACENT DUPLICATES FROM g_tab_succ[] COMPARING vbeln.
DELETE ADJACENT DUPLICATES FROM g_tab_error[] COMPARING vbeln.
CLOSE DATASET file2.
PERFORM dload_error_appli.
ENDFORM. "call_ctm
&----
*& Form sub
&----
text
----
-->P_0122 text
-->P_0123 text
----
FORM sub USING a b.
CLEAR tab_map.
tab_map-program = a.
tab_map-dynpro = b.
tab_map-dynbegin = 'X'.
APPEND tab_map.
ENDFORM. " sub
&----
*& Form sub1
&----
text
----
-->P_0153 text
-->P_0154 text
----
FORM sub1 USING c d.
CLEAR tab_map.
tab_map-fnam = c.
tab_map-fval = d.
APPEND tab_map.
ENDFORM. " sub1
&----
*& Form disply_block_alv
&----
text
----
--> p1 text
<-- p2 text
----
FORM disply_block_alv .
PERFORM fill_fieldcatlog.
PERFORM fill_fieldcatlog1.
PERFORM call_block_alv.
ENDFORM. " disply_block_alv
&----
*& Form fill_fieldcatlog
&----
text
----
--> p1 text
<-- p2 text
----
FORM fill_fieldcatlog .
PERFORM build_catlog USING l_pos 'G_TAB_SUCC' 'VBELN' '16' text-005.
PERFORM build_catlog USING l_pos 'G_TAB_SUCC' 'MESSAGE' '90' text-007.
ENDFORM. " fill_fieldcatlog
&----
*& Form build_catlog
&----
text
----
-->P_L_POS text
-->P_0348 text
-->P_0349 text
-->P_0350 text
-->P_TEXT_004 text
----
FORM build_catlog USING u_pos TYPE any
value(u_0348) TYPE any
value(u_0349) TYPE any
value(u_0350) TYPE any
u_text TYPE any.
DATA: l_wa_fieldcatlog TYPE slis_fieldcat_alv.
ADD 1 TO u_pos.
l_wa_fieldcatlog-col_pos = u_pos.
l_wa_fieldcatlog-tabname = u_0348.
l_wa_fieldcatlog-fieldname = u_0349.
l_wa_fieldcatlog-outputlen = u_0350.
l_wa_fieldcatlog-reptext_ddic = u_text.
APPEND l_wa_fieldcatlog TO l_tab_fieldcatlog.
ENDFORM. " build_catlog
&----
*& Form fill_fieldcatlog1
&----
text
----
--> p1 text
<-- p2 text
----
FORM fill_fieldcatlog1 .
PERFORM build_catlog1 USING l_pos 'G_TAB_MESSAGE' 'VBELN' '16' text-005.
PERFORM build_catlog1 USING l_pos 'G_TAB_MESSAGE' 'MESSAGE' '90' text-006.
ENDFORM. " fill_fieldcatlog1
&----
*& Form call_block_alv
&----
text
----
--> p1 text
<-- p2 text
----
FORM call_block_alv .
report = sy-repid.
CLEAR l_events.
l_wa_events-name = slis_ev_top_of_page.
l_wa_events-form = 'TOP_OF_PAGE'.
APPEND l_wa_events TO l_events.
CLEAR l_wa_events.
l_wa_events-name = slis_ev_top_of_page.
l_wa_events-form = 'ETOP_OF_PAGE'.
APPEND l_wa_events TO l_events1.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = report
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
IT_EXCLUDING =
.
IF g_tab_succ[] IS INITIAL.
MESSAGE s101(zsmep).
EXIT.
ELSE.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = l_layout
it_fieldcat = l_tab_fieldcatlog
i_tabname = 'G_TAB_SUCC'
it_events = l_events
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = g_tab_succ
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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.
ENDIF.
IF g_tab_message[] IS INITIAL.
MESSAGE s102(zsmep).
ELSE.
DELETE g_tab_message WHERE vbeln EQ ''.
DELETE ADJACENT DUPLICATES FROM g_tab_message[] COMPARING vbeln.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = l_layout
it_fieldcat = l_tab_fieldcatlog1
i_tabname = 'G_TAB_MESSAGE'
it_events = l_events1
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = g_tab_message
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
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. " CALL_BLOCK_ALV
&----
*& Form top_of_page
&----
text
----
--> p1 text
<-- p2 text
----
FORM top_of_page .
WRITE: 'Success Records'.
ENDFORM. " top_of_page
&----
*& Form ETOP_OF_PAGE
&----
text
----
--> p1 text
<-- p2 text
----
FORM etop_of_page .
WRITE: 'Error Records'.
ENDFORM. " ETOP_OF_PAGE
&----
*& Form build_catlog1
&----
text
----
-->P_L_POS text
-->P_0473 text
-->P_0474 text
-->P_0475 text
-->P_TEXT_004 text
----
FORM build_catlog1 USING u_pos TYPE any
value(u_0473) TYPE any
value(u_0474) TYPE any
value(u_0475) TYPE any
u_text TYPE any.
DATA: l_wa_fieldcatlog1 TYPE slis_fieldcat_alv.
ADD 1 TO u_pos.
l_wa_fieldcatlog1-col_pos = u_pos.
l_wa_fieldcatlog1-tabname = u_0473.
l_wa_fieldcatlog1-fieldname = u_0474.
l_wa_fieldcatlog1-outputlen = u_0475.
l_wa_fieldcatlog1-reptext_ddic = u_text.
APPEND l_wa_fieldcatlog1 TO l_tab_fieldcatlog1.
ENDFORM. " build_catlog1
&----
*& Form DLOAD_ERROR_APPLI
&----
text
----
--> p1 text
<-- p2 text
----
FORM dload_error_appli .
OPEN DATASET file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
DELETE ADJACENT DUPLICATES FROM g_tab_down[] COMPARING vbeln.
LOOP AT g_tab_down.
TRANSFER g_tab_down TO file.
ENDLOOP.
CLOSE DATASET file.
ENDFORM. " DLOAD_ERROR_APPLI
regards...
seshu.
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |