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

TO UPLOAD LONG TEXT USING BDC

Former Member
0 Likes
1,159

Hi,

i have to create bdc to upload long text in XD02 in commercial note and lab note.

i am not getting if anybody have related bdc please refer.

thanks n regards

Ali

Hi,

i have to create bdc to upload long text in XD02 in commercial note and lab note.

i am not getting if anybody have related bdc please refer.

thanks n regards

Ali

8 REPLIES 8
Read only

Former Member
0 Likes
1,050

Hi,

U can upload long text by using create_text fuction module.

check this sample code

DATA: BEGIN OF ITAB OCCURS 0,

kunnr LIKE kna1-kunnr, " cus NUMBER

TEXT(5000) TYPE C, " Long Text

END OF ITAB.

DATA: BEGIN OF ITAB1 OCCURS 0,

kunnr LIKE kna1-kunnr, " cus No

SEQU TYPE I, " Text Sequence

TEXT(5000) TYPE C, " Long Text

END OF ITAB1.

DATA:BEGIN OF DT_LINES OCCURS 0.

INCLUDE STRUCTURE TLINE. " Long Text

DATA:END OF DT_LINES.

DATA : P_FILE1 TYPE STRING.

DATA : DL_NAME TYPE THEAD-TDNAME, " Object Name(customer no)

DL_LAN TYPE THEAD-TDSPRAS. " Language

CONSTANTS:C_BEST TYPE THEAD-TDID VALUE '0002', ( THIS VALUE FIND OUT FROM FROM FUNCTIONAL PERSON )

C_MATERIAL TYPE THEAD-TDOBJECT VALUE 'KNA1'. " OBJECT

DATA: START TYPE I,

LEN TYPE I VALUE 92,

TOTLEN TYPE I,

N TYPE I.

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-101.

PARAMETERS P_FILE LIKE RLGRAP-FILENAME."input file

SELECTION-SCREEN : END OF BLOCK B1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

PERFORM FETCH_FILE USING P_FILE.

&----


*& Form fetch_file

&----


  • text

----


  • -->P_FILE text

----


FORM FETCH_FILE USING P_FILE.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

IMPORTING

FILE_NAME = P_FILE.

ENDFORM. "fetch_file

START-OF-SELECTION.

PERFORM UPLOAD USING P_FILE. " *To Upload Flat file

PERFORM UPLOAD_TEXT.

&----


*& Form UPLOAD

&----


  • text

----


  • -->P_FILE text

----


FORM UPLOAD USING P_FILE.

P_FILE1 = P_FILE.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = P_FILE1

FILETYPE = 'DAT'

  • HAS_FIELD_SEPARATOR = ' '

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • NO_AUTH_CHECK = ' '

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

*message i001 with p_file .

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. "UPLOAD

&----


*& Form UPLOAD_TEXT

&----


  • text

----


FORM UPLOAD_TEXT.

LOOP AT ITAB.

ITAB1-kunnr = ITAB-kunnr.

CLEAR: TOTLEN,N, START.

TOTLEN = STRLEN( ITAB-TEXT ).

N = TOTLEN / LEN.

N = N + 1.

DO N TIMES.

ITAB1-TEXT = ITAB-TEXT+START(LEN).

ITAB1-SEQU = SY-INDEX.

START = START + LEN.

APPEND ITAB1.

ENDDO.

ENDLOOP.

DELETE ITAB1 WHERE TEXT IS INITIAL.

SORT ITAB1 BY MATNR SEQU.

LOOP AT ITAB1.

DT_LINES-TDFORMAT = '*'.

DT_LINES-TDLINE = ITAB1-TEXT.

APPEND DT_LINES.

AT END OF kunnr.

DL_LAN = SY-LANGU.

  • WRITE : / itab-kunnr.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = ITAB1-kunnr

IMPORTING

OUTPUT = ITAB1-kunnr.

MOVE ITAB1-kunnr TO DL_NAME.

CALL FUNCTION 'CREATE_TEXT'

EXPORTING

FID = C_BEST

FLANGUAGE = DL_LAN

FNAME = DL_NAME

FOBJECT = C_MATERIAL

SAVE_DIRECT = 'X'

FFORMAT = '*'

TABLES

FLINES = DT_LINES

EXCEPTIONS

NO_INIT = 1

NO_SAVE = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

WRITE:/10 'Long Text Creation failed for Material No', ITAB1-kunnr.

ELSE.

WRITE:/10 'Long Text Created Successfully for Material No', ITAB1-kunnr.

ENDIF.

REFRESH DT_LINES.

ENDAT.

ENDLOOP.

ENDFORM. "UPLOAD_TEXT

Rgds

Siva

Edited by: siva prasad on May 12, 2009 11:05 AM

Edited by: siva prasad on May 12, 2009 11:11 AM

Read only

0 Likes
1,050

according to my requirement you r very up to point so if you please clear me to upload long text in xd02

in commercial note and lab note so it can solve my problem.

thanks

Read only

Former Member
0 Likes
1,050

Hi,

Where is this commercial note and lab note present in XD02. Can you paste your piece of code how you are uploading using BDC.

Regards,

Suneel G

Read only

0 Likes
1,050

you can get commercial and lab note in (extras menu bar -texts )first when you enter customer number in XD02.

Read only

Former Member
0 Likes
1,050

Hi,

I Was aware of alternate solution for you, if useful please look into it.

Instead of writing BDC for the Long Text, you can call FM : SAVE_TEXT for this you need to search for TEXT ID, TDNAME, OBJECT but it is very simple task you can find them when you goto XD02 & the place where you can find the Long Text there Menu->GOTO->Header you can find the TEXTID, TDNAME, TDOBJECT.

Thanks,

Ravikanth

Read only

0 Likes
1,050

i have to upload commercial note and lab note through bdc program in XD02.

path is : xd02

enter customer number

next screen

menu bar

extras-texts

here we will get commercial note and lab note.

so plz refer related bdc if it is available.

thanks.

Read only

Former Member
0 Likes
1,050

Hi

you can upload the longtext using SAVE_TEXT fm.


 CALL FUNCTION 'SAVE_TEXT'
          EXPORTING
            client          = sy-mandt
            header          = wa_header
            savemode_direct = 'X'
          TABLES
            lines           = lt_lines.

regards,

Naveen

Read only

Former Member
0 Likes
1,050

thanks