2009 May 12 9:35 AM
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
2009 May 12 9:48 AM
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
2009 May 12 1:17 PM
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
2009 May 12 9:50 AM
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
2009 May 12 10:03 AM
you can get commercial and lab note in (extras menu bar -texts )first when you enter customer number in XD02.
2009 May 12 9:52 AM
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
2009 May 12 10:35 AM
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.
2009 May 12 9:53 AM
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
2009 May 22 2:10 PM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |