Skip to Content
0
Former Member
Nov 29, 2006 at 11:09 AM

TEXTS IN BDC!!

55 Views

REPORT ZRV_VA01_TRIAL

NO STANDARD PAGE HEADING LINE-SIZE 255.

DATA: BEGIN OF T_RECORD OCCURS 0,

AUART LIKE VBAK-AUART,

VBELN LIKE VBAK-VBELN,

KUNNR LIKE KNA1-KUNNR,

KUNNR1 LIKE KNA1-KUNNR,

BSTKD LIKE VBKD-BSTKD,

POSNR LIKE VBAP-POSNR,

MATNR LIKE VBAP-MATNR,

ZMENG LIKE VBAP-ZMENG,

END OF T_RECORD.

DATA : BEGIN OF T_TEXT OCCURS 0,

TDNAME LIKE THEAD-TDNAME,

TEXT LIKE TLINE-TDLINE,

END OF T_TEXT.

DATA : BEGIN OF TTHEAD1 OCCURS 0,

TDOBJECT LIKE THEAD-TDOBJECT,

TDNAME LIKE THEAD-TDNAME,

TDID LIKE THEAD-TDID,

TDSPRAS LIKE THEAD-TDSPRAS,

END OF TTHEAD1.

*DATA : INDEX LIKE I .

DATA : BDCDATA TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 0 WITH HEADER LINE,

MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,

G_LANG LIKE SY-LANGU.

DATA : T_THEAD TYPE STANDARD TABLE OF THEAD INITIAL SIZE 0 WITH HEADER LINE,

T_TLINE TYPE STANDARD TABLE OF TLINE INITIAL SIZE 0 WITH HEADER LINE.

DATA : V_TDNAME(70).

CLEAR V_TDNAME.

CALL FUNCTION 'UPLOAD'

EXPORTING

FILENAME = 'C:\Documents and Settings\sirisham\Desktop\VA01-BDC.txt'

FILETYPE = 'DAT'

TABLES

DATA_TAB = T_RECORD

ENDIF.

CALL FUNCTION 'UPLOAD'

EXPORTING

FILENAME = 'C:\Documents and Settings\sirisham\Desktop\va01-bdc-text.txt'

FILETYPE = 'DAT'

TABLES

DATA_TAB = T_TEXT

CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'

EXPORTING

INPUT = 'E'

IMPORTING

OUTPUT = G_LANG

LOOP AT T_RECORD.

CONCATENATE T_RECORD-VBELN T_RECORD-POSNR INTO V_TDNAME.

MOVE V_TDNAME TO TTHEAD1-TDNAME.

TTHEAD1-TDOBJECT = 'VBBP'.

TTHEAD1-TDID = '0001'.

TTHEAD1-TDSPRAS = G_LANG.

APPEND TTHEAD1.

ENDLOOP.

START-OF-SELECTION.

LOOP AT T_RECORD.

REFRESH BDCDATA.

CLEAR 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' T_RECORD-AUART.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.

PERFORM BDC_FIELD USING 'VBAK-VBELN' T_RECORD-VBELN.

PERFORM BDC_FIELD USING 'KUAGV-KUNNR' T_RECORD-KUNNR.

PERFORM BDC_FIELD USING 'KUWEV-KUNNR' T_RECORD-KUNNR1.

PERFORM BDC_FIELD USING 'VBKD-BSTKD' T_RECORD-BSTKD.

PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' '07/41'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=CHOO'.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'VBAP-POSNR(01)' T_RECORD-POSNR.

PERFORM BDC_FIELD USING 'RV45A-MABNR(01)' T_RECORD-MATNR.

PERFORM BDC_FIELD USING 'VBAP-ZMENG(01)' T_RECORD-ZMENG.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=PTEX_SUB'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VBAP-POSNR(01)'.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4003'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/EBACK'.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=PTEX_SUB'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VBAP-POSNR(01)'.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4003'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=SICH'.

PERFORM BDC_DYNPRO USING 'SAPLSPO2' '0101'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=OPT1'.

LOOP AT TTHEAD1.

CLEAR TTHEAD1 .

REFRESH TTHEAD1.

READ TABLE TTHEAD1 WITH KEY TDNAME = TTHEAD1-TDNAME.

MOVE-CORRESPONDING TTHEAD1 TO T_THEAD .

APPEND T_THEAD .

LOOP AT T_TEXT WHERE TDNAME = T_THEAD-TDNAME .

CLEAR T_TLINE.

MOVE T_TEXT-TEXT TO T_TLINE-TDLINE .

APPEND T_TLINE.

CALL FUNCTION 'SAVE_TEXT'

EXPORTING

CLIENT = SY-MANDT

HEADER = T_THEAD

INSERT = ' '

SAVEMODE_DIRECT = 'X'

TABLES

LINES = T_TLINE

EXCEPTIONS

ID = 1

LANGUAGE = 2

NAME = 3

OBJECT = 4

OTHERS = 5

.

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 'COMMIT_TEXT' .

ENDLOOP .

ENDLOOP .

CALL TRANSACTION 'VA01' USING BDCDATA

MODE 'A'

UPDATE 'S'

MESSAGES INTO MESSTAB.

ENDLOOP.

----


  • 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.

THIS MY CODE.IT HAS TO LOAD THE TEXT INTO THE TRANSACTION.WHEN I RUN THE BDC...........FOR A SALES ORDER IT IS WRITTING THE TEXT FOR ALL THE SALES ORDERS.......PLEASE DO GIVE ME A SOLUTION...............

THANKING U IN ANTICIPATION.

REGARDS,

SUPRIYA MATTA.