2007 May 16 12:14 PM
hi all,
i developed acode to upload data to cs01 trasaction(bom).
wen i give my input file like this,
000000000000000147 JL01 1 L 141 1.40
000000000000000147 JL01 1 L 142 1.40
it is uploading fine.
wen i give my text file like this
000000000000000147 JL01 1 L 141 1.40
000000000000000147 JL01 1 L 142 1.40
000000000000000147 JL01 1 L 143 1.40
its uploading ist record and third record(141,143)
wen i execute the program, and give enters there i am able to see all the three records populating
but econg record 142 is not saved.(its multiple line items L 141 1.40)
CAN ANY BODY HELP ME IN THIS REGARD.
REPORT Z_BOM_BDC.
----
DATA DECLARATIONS *
----
*INCLUDE bdcrecx1.
TYPES: BEGIN OF TY_FLAT, " structure for flat file
STRING(200),
END OF TY_FLAT.
TYPES: BEGIN OF TY_HEAD, " structure for header file
IND(2) TYPE N,
MATNR(18),
WERKS(4),
STLAN(1),
END OF TY_HEAD.
TYPES :BEGIN OF TY_ITEM, "structure for item file
IND(2) TYPE N,
POSTP(1),
IDNRK(18),
MENGE(13),
END OF TY_ITEM.
TYPES :BEGIN OF TY_FLAT1, " structure for final file
MATNR(18),
WERKS(4),
STLAN(1),
POSTP(1),
IDNRK(18),
MENGE(13),
END OF TY_FLAT1.
----
INTERNAL TABLE DECLARATIONS *
----
DATA : T_FLAT TYPE STANDARD TABLE OF TY_FLAT,
T_FLAT1 TYPE STANDARD TABLE OF TY_FLAT1,
T_HEAD TYPE STANDARD TABLE OF TY_HEAD,
T_ITEM TYPE STANDARD TABLE OF TY_ITEM,
T_BDCDATA TYPE STANDARD TABLE OF BDCDATA,
T_BDCMSG TYPE STANDARD TABLE OF BDCMSGCOLL.
----
WORK AREA DECLARATIONS *
----
DATA : ST_FLAT TYPE TY_FLAT,
ST_FLAT1 TYPE TY_FLAT1,
ST_HEAD TYPE TY_HEAD,
ST_ITEM TYPE TY_ITEM,
ST_BDCDATA TYPE BDCDATA,
ST_BDCMSG TYPE BDCMSGCOLL.
----
VARIABLES *
----
DATA : FNAM TYPE LOCALFILE, "rlgrap-filename,
FTYP TYPE RLGRAP-FILETYPE,
LF_FNAM TYPE STRING.
----
VARIABLES *
----
DATA : V_IND(2) TYPE N, " value 1,
V_FLD(20),
V_NO(2) TYPE N.
----
SELECTION SCREEN *
----
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. "selection screen
PARAMETERS : P_FNAM LIKE FNAM.
SELECTION-SCREEN : END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAM.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FNAM.
CALL FUNCTION 'WS_UPLOAD' " uploading flat file
EXPORTING
FILENAME = P_FNAM
FILETYPE = 'ASC'
TABLES
DATA_TAB = T_FLAT.
IF SY-SUBRC NE 0.
WRITE : /1 'no flat file to upload into internal table t_flat'.
LEAVE TO LIST-PROCESSING.
ENDIF.
START-OF-SELECTION.
splitting the flat file data into header table and item table
LOOP AT T_FLAT INTO ST_FLAT.
ADD 1 TO v_ind.
**SPLIT ST_FLAT AT '|' INTO ST_FLAT1-SPEC_NO ST_FLAT1-ASTYP
**ST_FLAT1-TXZ01 ST_FLAT1-SORT1
**ST_FLAT1-WAERS ST_FLAT1-MATKL
**ST_FLAT1-EKORG ST_FLAT1-SRVPOS
**ST_FLAT1-MENGE.
**
SPLIT ST_FLAT AT CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB
INTO ST_FLAT1-MATNR ST_FLAT1-WERKS
ST_FLAT1-STLAN ST_FLAT1-POSTP
ST_FLAT1-IDNRK ST_FLAT1-MENGE.
APPEND ST_FLAT1 TO T_FLAT1.
CLEAR ST_FLAT1.
ENDLOOP.
SORT T_FLAT1 BY MATNR WERKS STLAN POSTP IDNRK MENGE.
LOOP AT T_FLAT1 INTO ST_FLAT1.
MOVE :
ST_FLAT1-MATNR TO ST_HEAD-MATNR,
ST_FLAT1-WERKS TO ST_HEAD-WERKS,
ST_FLAT1-STLAN TO ST_HEAD-STLAN,
ST_FLAT1-SORT1 TO ST_HEAD-SORT1,
ST_FLAT1-WAERS TO ST_HEAD-WAERS,
ST_FLAT1-MATKL TO ST_HEAD-MATKL,
ST_FLAT1-EKORG TO ST_HEAD-EKORG,
ST_FLAT1-POSTP TO ST_ITEM-POSTP,
ST_FLAT1-IDNRK TO ST_ITEM-IDNRK,
ST_FLAT1-MENGE TO ST_ITEM-MENGE.
AT new STLAN.
AT end of EKORG.
ADD 1 TO V_IND.
ENDAT.
MOVE V_IND TO ST_HEAD-IND.
MOVE V_IND TO ST_ITEM-IND.
APPEND ST_HEAD TO T_HEAD.
APPEND ST_ITEM TO T_ITEM.
CLEAR ST_HEAD.
CLEAR ST_ITEM.
*CLEAR v_ind.
ENDLOOP.
CLEAR V_IND.
*perform open_group.
SORT T_ITEM BY IND.
SORT T_HEAD BY IND.
DELETE ADJACENT DUPLICATES FROM T_HEAD.
LOOP AT T_HEAD INTO ST_HEAD.
PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29N-STLAN'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RC29N-MATNR'
ST_HEAD-MATNR.
PERFORM BDC_FIELD USING 'RC29N-WERKS'
ST_HEAD-WERKS.
PERFORM BDC_FIELD USING 'RC29N-STLAN'
ST_HEAD-STLAN.
*PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
*
*PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29P-MENGE(01)'.
*
*PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SRV'.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-TXZ01'
ST_HEAD-TXZ01.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-SORT1'
ST_HEAD-SORT1.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-WAERS'
ST_HEAD-WAERS.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-MATKL'
ST_HEAD-MATKL.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-EKORG'
ST_HEAD-EKORG.
LOOP AT T_ITEM INTO ST_ITEM WHERE IND = ST_HEAD-IND.
ADD 1 TO V_NO.
PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29P-MENGE(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=FCUH'.
*PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLMLSP'.
*
*PERFORM BDC_DYNPRO USING 'SAPLMLSP' '0201'.
*PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BZE'.
*
*PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ESLL-MENGE(01)'.
CONCATENATE 'RC29P-IDNRK(' V_NO ')' INTO V_FLD.
CONDENSE V_FLD.
PERFORM BDC_FIELD USING V_FLD
ST_ITEM-IDNRK.
CONCATENATE 'RC29P-MENGE(' V_NO ')' INTO V_FLD.
CONDENSE V_FLD.
PERFORM BDC_FIELD USING V_FLD
ST_ITEM-MENGE.
CONCATENATE 'RC29P-POSTP(' V_NO ')' INTO V_FLD.
CONDENSE V_FLD.
PERFORM BDC_FIELD USING V_FLD
ST_ITEM-POSTP.
PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLCSDI'.
*perform bdc_field using 'ESLL-SRVPOS(01)'
ITAB_PROGRAM-SRVPOS.
*
*
*perform bdc_field using 'ESLL-MENGE(01)'
ITAB_PROGRAM-MENGE.
**PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
**PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29P-IDNRK(02)'.
**PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=FCBU'.
PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLCSDI'.
**
*PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
V_NO = 1.
ENDLOOP.
CLEAR V_NO.
*
*PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
*PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29P-IDNRK'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=FCBU'.
*PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLCSDI'.
*PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SAV'.
*
*PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLMLSP'.
CALL TRANSACTION 'CS01' USING T_BDCDATA MODE 'A'
UPDATE 'A' MESSAGES INTO T_BDCMSG.
refresh t_bdcdata.
clear t_bdcdata.
*
ENDLOOP.
PERFORM FR_FORMAT_MESSAGE.
----
Start new screen *
----
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR ST_BDCDATA.
ST_BDCDATA-PROGRAM = PROGRAM.
ST_BDCDATA-DYNPRO = DYNPRO.
ST_BDCDATA-DYNBEGIN = 'X'.
APPEND ST_BDCDATA TO T_BDCDATA.
ENDFORM.
----
Insert field *
----
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> SPACE. "NODATA.
CLEAR ST_BDCDATA.
ST_BDCDATA-FNAM = FNAM.
ST_BDCDATA-FVAL = FVAL.
APPEND ST_BDCDATA TO T_BDCDATA.
ENDIF.
ENDFORM.
&----
*& Form fr_format_message
&----
text
----
--> p1 text
<-- p2 text
----
FORM FR_FORMAT_MESSAGE.
DATA : MESSAGE TYPE STRING.
WRITE : /1 'ID',
5 'No',
10 'Type',
20 'Message Info',
55 'Row No'.
LOOP AT T_BDCMSG INTO ST_BDCMSG.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = ST_BDCMSG-MSGID
LANG = SY-LANGU
NO = ST_BDCMSG-MSGNR
V1 = ST_BDCMSG-MSGV1
V2 = ST_BDCMSG-MSGV2
V3 = ST_BDCMSG-MSGV3
V4 = ST_BDCMSG-MSGV4
IMPORTING
MSG = MESSAGE
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
.
IF SY-SUBRC EQ 0.
WRITE : /1 ST_BDCMSG-MSGID,
5 ST_BDCMSG-MSGNR,
10 ST_BDCMSG-MSGTYP,
20 MESSAGE.
ENDIF.
IF SY-SUBRC NE 0.
WRITE : /55 SY-TABIX.
ENDIF.
ENDLOOP.
ENDFORM. " fr_format_message
2007 May 16 1:19 PM
u can use standard program
RCSBI010 and its documentations.
Regards
Peram
hi all,
i developed acode to upload data to cs01 trasaction(bom).
wen i give my input file like this,
000000000000000147 JL01 1 L 141 1.40
000000000000000147 JL01 1 L 142 1.40
it is uploading fine.
wen i give my text file like this
000000000000000147 JL01 1 L 141 1.40
000000000000000147 JL01 1 L 142 1.40
000000000000000147 JL01 1 L 143 1.40
its uploading ist record and third record(141,143)
wen i execute the program, and give enters there i am able to see all the three records populating
but econg record 142 is not saved.(its multiple line items L 141 1.40)
CAN ANY BODY HELP ME IN THIS REGARD.
REPORT Z_BOM_BDC.
----
DATA DECLARATIONS *
----
*INCLUDE bdcrecx1.
TYPES: BEGIN OF TY_FLAT, " structure for flat file
STRING(200),
END OF TY_FLAT.
TYPES: BEGIN OF TY_HEAD, " structure for header file
IND(2) TYPE N,
MATNR(18),
WERKS(4),
STLAN(1),
END OF TY_HEAD.
TYPES :BEGIN OF TY_ITEM, "structure for item file
IND(2) TYPE N,
POSTP(1),
IDNRK(18),
MENGE(13),
END OF TY_ITEM.
TYPES :BEGIN OF TY_FLAT1, " structure for final file
MATNR(18),
WERKS(4),
STLAN(1),
POSTP(1),
IDNRK(18),
MENGE(13),
END OF TY_FLAT1.
----
INTERNAL TABLE DECLARATIONS *
----
DATA : T_FLAT TYPE STANDARD TABLE OF TY_FLAT,
T_FLAT1 TYPE STANDARD TABLE OF TY_FLAT1,
T_HEAD TYPE STANDARD TABLE OF TY_HEAD,
T_ITEM TYPE STANDARD TABLE OF TY_ITEM,
T_BDCDATA TYPE STANDARD TABLE OF BDCDATA,
T_BDCMSG TYPE STANDARD TABLE OF BDCMSGCOLL.
----
WORK AREA DECLARATIONS *
----
DATA : ST_FLAT TYPE TY_FLAT,
ST_FLAT1 TYPE TY_FLAT1,
ST_HEAD TYPE TY_HEAD,
ST_ITEM TYPE TY_ITEM,
ST_BDCDATA TYPE BDCDATA,
ST_BDCMSG TYPE BDCMSGCOLL.
----
VARIABLES *
----
DATA : FNAM TYPE LOCALFILE, "rlgrap-filename,
FTYP TYPE RLGRAP-FILETYPE,
LF_FNAM TYPE STRING.
----
VARIABLES *
----
DATA : V_IND(2) TYPE N, " value 1,
V_FLD(20),
V_NO(2) TYPE N.
----
SELECTION SCREEN *
----
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. "selection screen
PARAMETERS : P_FNAM LIKE FNAM.
SELECTION-SCREEN : END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAM.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FNAM.
CALL FUNCTION 'WS_UPLOAD' " uploading flat file
EXPORTING
FILENAME = P_FNAM
FILETYPE = 'ASC'
TABLES
DATA_TAB = T_FLAT.
IF SY-SUBRC NE 0.
WRITE : /1 'no flat file to upload into internal table t_flat'.
LEAVE TO LIST-PROCESSING.
ENDIF.
START-OF-SELECTION.
splitting the flat file data into header table and item table
LOOP AT T_FLAT INTO ST_FLAT.
ADD 1 TO v_ind.
**SPLIT ST_FLAT AT '|' INTO ST_FLAT1-SPEC_NO ST_FLAT1-ASTYP
**ST_FLAT1-TXZ01 ST_FLAT1-SORT1
**ST_FLAT1-WAERS ST_FLAT1-MATKL
**ST_FLAT1-EKORG ST_FLAT1-SRVPOS
**ST_FLAT1-MENGE.
**
SPLIT ST_FLAT AT CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB
INTO ST_FLAT1-MATNR ST_FLAT1-WERKS
ST_FLAT1-STLAN ST_FLAT1-POSTP
ST_FLAT1-IDNRK ST_FLAT1-MENGE.
APPEND ST_FLAT1 TO T_FLAT1.
CLEAR ST_FLAT1.
ENDLOOP.
SORT T_FLAT1 BY MATNR WERKS STLAN POSTP IDNRK MENGE.
LOOP AT T_FLAT1 INTO ST_FLAT1.
MOVE :
ST_FLAT1-MATNR TO ST_HEAD-MATNR,
ST_FLAT1-WERKS TO ST_HEAD-WERKS,
ST_FLAT1-STLAN TO ST_HEAD-STLAN,
ST_FLAT1-SORT1 TO ST_HEAD-SORT1,
ST_FLAT1-WAERS TO ST_HEAD-WAERS,
ST_FLAT1-MATKL TO ST_HEAD-MATKL,
ST_FLAT1-EKORG TO ST_HEAD-EKORG,
ST_FLAT1-POSTP TO ST_ITEM-POSTP,
ST_FLAT1-IDNRK TO ST_ITEM-IDNRK,
ST_FLAT1-MENGE TO ST_ITEM-MENGE.
AT new STLAN.
AT end of EKORG.
ADD 1 TO V_IND.
ENDAT.
MOVE V_IND TO ST_HEAD-IND.
MOVE V_IND TO ST_ITEM-IND.
APPEND ST_HEAD TO T_HEAD.
APPEND ST_ITEM TO T_ITEM.
CLEAR ST_HEAD.
CLEAR ST_ITEM.
*CLEAR v_ind.
ENDLOOP.
CLEAR V_IND.
*perform open_group.
SORT T_ITEM BY IND.
SORT T_HEAD BY IND.
DELETE ADJACENT DUPLICATES FROM T_HEAD.
LOOP AT T_HEAD INTO ST_HEAD.
PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29N-STLAN'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RC29N-MATNR'
ST_HEAD-MATNR.
PERFORM BDC_FIELD USING 'RC29N-WERKS'
ST_HEAD-WERKS.
PERFORM BDC_FIELD USING 'RC29N-STLAN'
ST_HEAD-STLAN.
*PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
*
*PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29P-MENGE(01)'.
*
*PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SRV'.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-TXZ01'
ST_HEAD-TXZ01.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-SORT1'
ST_HEAD-SORT1.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-WAERS'
ST_HEAD-WAERS.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-MATKL'
ST_HEAD-MATKL.
*
*PERFORM BDC_FIELD USING 'TMP_SPEC-EKORG'
ST_HEAD-EKORG.
LOOP AT T_ITEM INTO ST_ITEM WHERE IND = ST_HEAD-IND.
ADD 1 TO V_NO.
PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29P-MENGE(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=FCUH'.
*PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLMLSP'.
*
*PERFORM BDC_DYNPRO USING 'SAPLMLSP' '0201'.
*PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BZE'.
*
*PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ESLL-MENGE(01)'.
CONCATENATE 'RC29P-IDNRK(' V_NO ')' INTO V_FLD.
CONDENSE V_FLD.
PERFORM BDC_FIELD USING V_FLD
ST_ITEM-IDNRK.
CONCATENATE 'RC29P-MENGE(' V_NO ')' INTO V_FLD.
CONDENSE V_FLD.
PERFORM BDC_FIELD USING V_FLD
ST_ITEM-MENGE.
CONCATENATE 'RC29P-POSTP(' V_NO ')' INTO V_FLD.
CONDENSE V_FLD.
PERFORM BDC_FIELD USING V_FLD
ST_ITEM-POSTP.
PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLCSDI'.
*perform bdc_field using 'ESLL-SRVPOS(01)'
ITAB_PROGRAM-SRVPOS.
*
*
*perform bdc_field using 'ESLL-MENGE(01)'
ITAB_PROGRAM-MENGE.
**PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
**PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29P-IDNRK(02)'.
**PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=FCBU'.
PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLCSDI'.
**
*PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
V_NO = 1.
ENDLOOP.
CLEAR V_NO.
*
*PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
*PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RC29P-IDNRK'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=FCBU'.
*PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLCSDI'.
*PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SAV'.
*
*PERFORM BDC_FIELD USING 'BDC_SUBSCR'
'SAPLMLSP'.
CALL TRANSACTION 'CS01' USING T_BDCDATA MODE 'A'
UPDATE 'A' MESSAGES INTO T_BDCMSG.
refresh t_bdcdata.
clear t_bdcdata.
*
ENDLOOP.
PERFORM FR_FORMAT_MESSAGE.
----
Start new screen *
----
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR ST_BDCDATA.
ST_BDCDATA-PROGRAM = PROGRAM.
ST_BDCDATA-DYNPRO = DYNPRO.
ST_BDCDATA-DYNBEGIN = 'X'.
APPEND ST_BDCDATA TO T_BDCDATA.
ENDFORM.
----
Insert field *
----
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> SPACE. "NODATA.
CLEAR ST_BDCDATA.
ST_BDCDATA-FNAM = FNAM.
ST_BDCDATA-FVAL = FVAL.
APPEND ST_BDCDATA TO T_BDCDATA.
ENDIF.
ENDFORM.
&----
*& Form fr_format_message
&----
text
----
--> p1 text
<-- p2 text
----
FORM FR_FORMAT_MESSAGE.
DATA : MESSAGE TYPE STRING.
WRITE : /1 'ID',
5 'No',
10 'Type',
20 'Message Info',
55 'Row No'.
LOOP AT T_BDCMSG INTO ST_BDCMSG.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = ST_BDCMSG-MSGID
LANG = SY-LANGU
NO = ST_BDCMSG-MSGNR
V1 = ST_BDCMSG-MSGV1
V2 = ST_BDCMSG-MSGV2
V3 = ST_BDCMSG-MSGV3
V4 = ST_BDCMSG-MSGV4
IMPORTING
MSG = MESSAGE
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
.
IF SY-SUBRC EQ 0.
WRITE : /1 ST_BDCMSG-MSGID,
5 ST_BDCMSG-MSGNR,
10 ST_BDCMSG-MSGTYP,
20 MESSAGE.
ENDIF.
IF SY-SUBRC NE 0.
WRITE : /55 SY-TABIX.
ENDIF.
ENDLOOP.
ENDFORM. " fr_format_message
2007 May 16 1:19 PM
u can use standard program
RCSBI010 and its documentations.
Regards
Peram
2008 Sep 05 12:49 PM