‎2007 Sep 27 3:12 PM
hi,
i have posted(adjusted) a account document with a reference number (belnr1) and using bapi bapi_acc_document_post.now this bapi creates a document (belnr2).now my requirment is using FB02 change the document belnr1,pass the belnr2 in the document header text(the text will be 'adjusted document: belnr2').is there nay any bapi/functional module to just open the document(fb02) and pass header text only.
Thanks,
challa.
‎2007 Sep 27 3:30 PM
Hi
There is no need for a BAPI.
First manually enter some text and save.
double click or go to change mode
takes you some Text editor
from menu GOTO-> HEADER
it will display the 4 parameters OBJECT,ID,OBJECTNAME and LANGUAGE
notedown the OBJECT and OBJECTNAME and ID
they are constants OBJECTNAME is nothign but the Document Number (BELNR)
Now write a small program using CREATE_TEXT and pass these 4 parameters and upload the long texts
it will create the long texts
see the sample material long texts code.
REPORT zmm_longtext
NO STANDARD PAGE HEADING
LINE-SIZE 255.
Internal Table for Upload of Long Texts Data
DATA: BEGIN OF itab1 OCCURS 0,
matnr LIKE mara-matnr, " Material
text LIKE tline-tdline, " Long Text
END OF itab1.
Internal Table for Upload of Long Texts Data
DATA: BEGIN OF itab OCCURS 0,
matnr LIKE mara-matnr, " Material
text LIKE tline-tdline, " Long Text
END OF itab.
To create Long Text lines for CREATE_TEXT function module
DATA:BEGIN OF dt_lines OCCURS 0.
INCLUDE STRUCTURE tline. " Long Text
DATA:END OF dt_lines.
Variable declarations for CREATE_TEXT function module
DATA : dl_name TYPE thead-tdname, " Object Name
dl_lan TYPE thead-tdspras, " Language
gv_matnr TYPE matnr.
Constants
CONSTANTS:
Object ID for Long Text of Material Basic Data 1
c_best TYPE thead-tdid VALUE 'GRUN',
c_material TYPE thead-tdobject VALUE 'MATERIAL'. " Object
Parameters
PARAMETERS p_file LIKE rlgrap-filename.
At selection-screen on Value Request for file Name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
Get the F4 Values for the File
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
Start Of Selection
START-OF-SELECTION.
*To Upload Flat file
CALL FUNCTION 'UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = itab1
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
SORT itab1 BY matnr.
LOOP AT itab1.
CLEAR gv_matnr.
SELECT SINGLE matnr INTO gv_matnr
FROM mara WHERE bismt = itab1-matnr.
IF itab1-text NE ' '.
itab-matnr = gv_matnr.
itab-text = itab1-text.
APPEND itab.
ENDIF.
CLEAR itab.
ENDLOOP.
DELETE itab WHERE matnr EQ ' '.
Upload the Texts
SORT itab BY matnr.
LOOP AT itab.
dt_lines-tdformat = 'ST'.
dt_lines-tdline = itab-text.
APPEND dt_lines.
dl_lan = sy-langu.
dl_name = itab-matnr.
Call the Function Module to Create Text
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:/ 'Long Text Creation failed for Material'(001),
itab-matnr.
ELSE.
WRITE:/ 'Long Text Created Successfully for Material'(002),
itab-matnr.
ENDIF.
AT END OF matnr.
REFRESH dt_lines.
ENDAT.
ENDLOOP.
Regards
Anji
‎2007 Sep 27 5:04 PM
HI,
thank you for the reply..actually i'm writing a program .my selection criteria are date,document type(bkpf-blart).and the condition is bkpf-bktxt = ' '. if a document is selected ,it adjusts this documet to a bkpf-blart = 'zz' ,creating a new bkpf-belnr.now this bkpf-belnr is to be passed to the initial document selected in the header text field so tha the same document is not selected when a selection is made again(this is to avoid adjusting the same document twice).so at present i'm doing this writing a bdc perfrom statements adn calling the call transaction fb02 using bdcdata table at the endof bapi_acc_document_post)this avoids selecting the same account document second time).my question is is there any bapi/fm to do this instead of writing bdc perform satatments and using call transaction statements..
thanks,
challa.