Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8644

Re: How to update the GSBER field in BSEG and BSID tables in SAP ABAP

$
0
0

I have tried for below code.

1.

DATA : it_errtab TYPE tpit_t_errdoc WITH HEADER LINE,

 

        it_fldtab TYPE tpit_t_fname WITH HEADER LINE,

 

        it_buztab TYPE tpit_t_buztab,

        lw_buztab TYPE tpit_buztab,

        lw_beltab TYPE tpit_buztab,

        lw_fldtab TYPE tpit_fname.

 

 

 

* Field name to be changed

 

it_fldtab-fname = 'GSBER'.

 

APPEND it_fldtab.

 

CLEAR it_fldtab.

w_bseg-gsber = '0099'."'0099'.

* Field value

 

 

 

 

 

* ITEM 7

 

SELECT bukrs belnr gjahr buzei koart umskz bschl mwart mwskz

 

   FROM bseg INTO CORRESPONDING FIELDS OF TABLE it_buztab

 

   WHERE belnr = '0000100001' AND bukrs = '0001'.

 

DATA: beltab TYPE tpit_t_buztab WITH HEADER LINE.

 

MOVE-CORRESPONDING it_buztab[] to beltab[].

*

CALL FUNCTION 'FI_ITEMS_MASS_CHANGE'

 

   EXPORTING

 

     s_bseg     = w_bseg

 

   IMPORTING

 

     errtab     = it_errtab[]

 

   TABLES

 

     it_buztab  = it_buztab

 

     it_fldtab  = it_fldtab

 

   EXCEPTIONS

 

     bdc_errors = 1

 

     OTHERS     = 2.

 

IF sy-subrc <> 0.

 

   MESSAGE ID sy-msgid TYPE sy-msgty   NUMBER sy-msgno

 

   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

 

ENDIF.

I am getting SY-SUBRC = 1001 when I am executing above code.

 

2.

DATA:

   gs_bkpf     TYPE bkpf,

   gt_bseg     TYPE TABLE OF bseg,

   gs_bseg     TYPE bseg.

 

DATA:

   gs_acchd    TYPE acchd,

   gt_accchg   TYPE fdm_t_accchg,

   gs_accchg   TYPE accchg.

 

PARAMETERS:

    p_bukrs    TYPE bukrs      MEMORY ID buk OBLIGATORY,

    p_belnr    TYPE belnr_d    MEMORY ID bln OBLIGATORY,

    p_gjahr    TYPE gjahr      MEMORY ID gjr OBLIGATORY.

 

*SELECTION-SCREEN ULINE.

*PARAMETERS:

*   p_madat    TYPE madat   OBLIGATORY DEFAULT sy-datum,

*   p_manst    TYPE mahns_d OBLIGATORY default 2.

 

START-OF-SELECTION.

 

   SELECT SINGLE * FROM bkpf INTO gs_bkpf

       WHERE bukrs   = p_bukrs

       AND   belnr   = p_belnr

       AND   gjahr   = p_gjahr.

   CHECK sy-subrc = 0.

   SELECT * FROM bseg INTO TABLE gt_bseg

     WHERE belnr =     gs_bkpf-belnr

     AND   gjahr =     gs_bkpf-gjahr

     AND   bukrs =     gs_bkpf-bukrs.

*    AND   koart =     'D'.

 

   LOOP AT gt_bseg INTO gs_bseg.

* check dunning is active for customer!

* set new valus

*    CLEAR gt_accchg.

*    IF gs_bseg-madat NE p_madat.

*      gs_accchg-fdname   = 'MADAT'.

*      gs_accchg-oldval   = gs_bseg-madat.

*      gs_accchg-newval   = p_madat.

*      APPEND gs_accchg TO gt_accchg.

*    ENDIF.

*    IF gs_bseg-manst NE p_manst.

*      gs_accchg-fdname   = 'MANST'.

*      gs_accchg-oldval   = gs_bseg-manst.

*      gs_accchg-newval   = p_manst.

*      APPEND gs_accchg TO gt_accchg.

*    ENDIF.

       gs_accchg-fdname   = 'GSBER'.

       gs_accchg-oldval   = gs_bseg-gsber.

       gs_accchg-newval   = '0099'.

       APPEND gs_accchg TO gt_accchg.

 

     CHECK NOT gt_accchg IS INITIAL.

* get document information

     CALL FUNCTION 'FI_DOCUMENT_READ'

       EXPORTING

         i_xnbkl = 'X'

         i_bukrs = gs_bkpf-bukrs

         i_belnr = gs_bkpf-belnr

         i_gjahr = gs_bkpf-gjahr

       IMPORTING

         e_awtyp = gs_acchd-awtyp

         e_awref = gs_acchd-awref

         e_aworg = gs_acchd-aworg

         e_awsys = gs_acchd-awsys

       EXCEPTIONS

         OTHERS  = 0.

     DATA: lv_aworg TYPE AWORG.

     lv_aworg = gs_acchd-aworg+4(4).

     check sy-subrc = 0.

     CALL FUNCTION 'FI_DOCUMENT_CHANGE'

       EXPORTING

         i_awtyp              = 'BSEG'

         i_awref              = gs_acchd-awref

*        i_aworg              = lv_aworg

         i_awsys              = gs_acchd-awsys

         i_buzei              = gs_bseg-buzei

       TABLES

         t_accchg             = gt_accchg

       EXCEPTIONS

         no_reference         = 1

         no_document          = 2

         many_documents       = 3

         wrong_input          = 4

         overwrite_creditcard = 5

         error_message        = 6

         OTHERS               = 7.


It is showing No_Document.

Please can you pot sample code


Viewing all articles
Browse latest Browse all 8644

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>