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

regarding report

Former Member
0 Likes
410

hi,

i want to display values of bkpf fields.after displaying i want to insert value for flag field.after insertig value of flag it will store in bkpf table.but i am doing report like below.but this is not updating the bkpf table.please let me know what is the reason.

-


*

REPORT ZFRI_UPDT_FLGINAD NO STANDARD PAGE HEADING

LINE-COUNT 60

LINE-SIZE 132.

TABLES: BKPF,BSEG.

*************************************************************************************

*structure for bkpf fields

*************************************************************************************

DATA: BEGIN OF IS_BKPF OCCURS 0,

BUKRS LIKE BKPF-BUKRS,

BELNR LIKE BKPF-BELNR,

GJAHR LIKE BKPF-GJAHR,

BLART LIKE BKPF-BLART,

  • ZZSEND_FLG LIKE BKPF-ZZSEND_FLG,

ZZKEYERID LIKE BKPF-ZZKEYERID,

ZZCORRECTID LIKE BKPF-ZZCORRECTID,

ZZINTERCEPTID LIKE BKPF-ZZINTERCEPTID,

ZZAPPROVERID LIKE BKPF-ZZAPPROVERID,

END OF IS_BKPF.

*****************************************************************************************

*structure for bseg fields

*****************************************************************************************

DATA : BEGIN OF IS_BSEG OCCURS 0,

BUKRS LIKE BSEG-BUKRS,

BELNR LIKE BSEG-BELNR,

GJAHR LIKE BSEG-GJAHR,

BSCHL LIKE BSEG-BSCHL,

LIFNR LIKE BSEG-LIFNR,

END OF IS_BSEG.

****************************************************************************************

*final structure with bkpf,bseg fields

****************************************************************************************

DATA: BEGIN OF IS_FINAL OCCURS 0,

BUKRS LIKE BKPF-BUKRS,

BELNR LIKE BKPF-BELNR,

GJAHR LIKE BKPF-GJAHR,

BLART LIKE BKPF-BLART,

ZZSEND_FLG LIKE BKPF-ZZSEND_FLG,

ZZKEYERID LIKE BKPF-ZZKEYERID,

ZZCORRECTID LIKE BKPF-ZZCORRECTID,

ZZINTERCEPTID LIKE BKPF-ZZINTERCEPTID,

ZZAPPROVERID LIKE BKPF-ZZAPPROVERID,

LIFNR LIKE BSEG-LIFNR,

END OF IS_FINAL.

***************************************************************************************

*internal tables from structures

***************************************************************************************

DATA: IT_BKPF LIKE TABLE OF IS_BKPF WITH HEADER LINE.

DATA: IT_BSEG LIKE TABLE OF IS_BSEG WITH HEADER LINE.

DATA: IT_FINAL LIKE TABLE OF IS_FINAL WITH HEADER LINE.

***************************************************************************************

*selection screen

****************************************************************************************

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME .

PARAMETERS:

P_BUKRS LIKE BKPF-BUKRS, "company code

P_BELNR LIKE BKPF-BELNR, "document number

P_GJAHR LIKE BKPF-GJAHR. "fiscal year

SELECTION-SCREEN END OF BLOCK BLK1.

********************************************************************************************

  • start of selection

*******************************************************************************************

START-OF-SELECTION.

SELECT BUKRS

BELNR

GJAHR

BLART

  • ZZSEND_FLG

*

ZZKEYERID

ZZCORRECTID

ZZINTERCEPTID

ZZAPPROVERID

INTO TABLE IT_BKPF

FROM BKPF

WHERE BUKRS EQ P_BUKRS AND

BELNR EQ P_BELNR AND

GJAHR EQ P_GJAHR.

IF SY-SUBRC NE 0.

EXIT.

ENDIF.

IF NOT IT_BKPF[] IS INITIAL.

SELECT BUKRS

BELNR

GJAHR

BSCHL

LIFNR

INTO TABLE IT_BSEG

FROM BSEG

FOR ALL ENTRIES IN IT_BKPF

WHERE BUKRS EQ IT_BKPF-BUKRS AND

BELNR EQ IT_BKPF-BELNR AND

GJAHR EQ IT_BKPF-GJAHR AND

BSCHL = '50'.

IF SY-SUBRC = 0.

SORT IT_BSEG BY BUKRS BELNR GJAHR.

ENDIF.

ENDIF.

LOOP AT IT_BKPF INTO IS_BKPF.

READ TABLE IT_BSEG WITH KEY BUKRS = IS_BKPF-BUKRS

BELNR = IS_BKPF-BELNR

GJAHR = IS_BKPF-GJAHR

BSCHL = '50'

binary search.

IF SY-SUBRC = 0.

MOVE : IS_BKPF-BUKRS TO IS_FINAL-BUKRS,

IS_BKPF-BELNR TO IS_FINAL-BELNR,

IS_BKPF-GJAHR TO IS_FINAL-GJAHR,

IS_BKPF-BLART TO IS_FINAL-BLART,

  • IS_BKPF-ZZSEND_FLG TO IS_FINAL-ZZSEND_FLG,

**

IS_BKPF-ZZKEYERID TO IS_FINAL-ZZKEYERID,

IS_BKPF-ZZCORRECTID TO IS_FINAL-ZZCORRECTID,

IS_BKPF-ZZINTERCEPTID TO IS_FINAL-ZZINTERCEPTID,

IS_BKPF-ZZAPPROVERID TO IS_FINAL-ZZAPPROVERID,

IS_BSEG-LIFNR TO IS_FINAL-LIFNR.

APPEND IS_FINAL TO IT_FINAL.

CLEAR:IS_FINAL,IT_FINAL.

ENDIF.

ENDLOOP.

*****************************************************************************************************

*end of selection

*****************************************************************************************************

END-OF-SELECTION.

LOOP AT IT_FINAL INTO IS_FINAL.

WRITE:/1(4) IS_FINAL-BUKRS,SY-VLINE,

11(10) IS_FINAL-BELNR, SY-VLINE,

25(4) IS_FINAL-GJAHR,SY-VLINE,

35(2) IS_FINAL-BLART,SY-VLINE.

WRITE:45(1) IS_FINAL-ZZSEND_FLG.

WRITE:53(4) IS_FINAL-ZZKEYERID,SY-VLINE,

57(4) IS_FINAL-ZZCORRECTID,SY-VLINE,

61(4) IS_FINAL-ZZINTERCEPTID,SY-VLINE,

65(4) IS_FINAL-ZZAPPROVERID,SY-VLINE,

69(4) IS_FINAL-LIFNR,SY-VLINE.

ENDLOOP.

  • **** ***********************************************************************************

  • *top of page

******************************************************************************************

TOP-OF-PAGE.

WRITE:/ SY-ULINE(110).

WRITE:/(10) 'COMPANYCODE', SY-VLINE,

(14) 'DOCUMENTNUMBER', SY-VLINE,

(10) 'FISCALYEAR', SY-VLINE,

(10) 'DOCUMENTTYPE' , SY-VLINE.

format input on.

WRITE:(8) 'SENDFLAG'.

FORMAT INPUT OFF.

WRITE:(4) 'KEYERID',SY-VLINE,

(4) 'CORRECTORID',SY-VLINE,

(4) 'INTERCEPTID',SY-VLINE,

(4) 'APPROVERID',SY-VLINE,

(4) 'VENDORNUMBER',SY-VLINE.

SET PF-STATUS 'TEST-STATUS'.

AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'SAVE'.

LOOP AT IT_FINAL WHERE ZZSEND_FLG <> ''.

UPDATE BKPF SET ZZSEND_FLG = IT_FINAL-ZZSEND_FLG

where BUKRS = IT_FINAL-BUKRS AND

BELNR = IT_FINAL-BELNR AND

GJAHR = IT_FINAL-GJAHR.

ENDLOOP.

WHEN 'CANCEL'.

LEAVE TO CURRENT TRANSACTION.

ENDCASE.

1 REPLY 1
Read only

Former Member
0 Likes
346

Hi Prabhakar,

You have used <b>UPDATE</b> Command. This will not Insert values into BKPF. Use <b>INSERT</b> or <b>MODIFY</b> Statement. It will work. Inserting data to standard table is not a wise decision check if there is any BAPI if your Scenario requires to Insert Directly then go ahead.

Regards,

Prashanth

Message was edited by: Prashanth KR