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 upload for bom

Former Member
0 Likes
699

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
569

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

2 REPLIES 2
Read only

Former Member
0 Likes
570

u can use standard program

RCSBI010 and its documentations.

Regards

Peram

Read only

Former Member
0 Likes
569

This message was moderated.