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

bapi for fb02 change

Former Member
0 Likes
1,634

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.

2 REPLIES 2
Read only

Former Member
0 Likes
975

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

Read only

0 Likes
975

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.