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

Sales Document flow - Update

Former Member
0 Likes
1,335

Hi friends,

i have to update the sales docuement flow with group delivery number (grp delivery number created using VG01 and entry can be seen in VBSS table).

I am trying to update using the FM 'RV_DOCUMENT_FLOW_UPDATE_U'.

Kindly share the knowledge if u have worked earlier in this type of scenario.

null

3 REPLIES 3
Read only

Former Member
0 Likes
802

See the link :

Read only

Former Member
0 Likes
802

there are several FM s but for this type of requirement use badis

Message was edited by:

Durgaprasad Kare

Read only

Former Member
0 Likes
802

there is a badi that i found for this requirement..

in this badi BADI_SD_DOCUMENTFLOW in the implementation enhancements tab select /SPE/BADI_SD_DOCFLOW implementation .inthis select the class and in the class select the method add subsequent docuement.

in this method create an enhancement spot (as this is done in ECC6) and write the following code

method IF_EX_BADI_SD_DOCUMENTFLOW~ADD_SUBSEQUENT_DOCUMENT.

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1 )\TY:/SAPCEM/CL_IM_SD_DOCU_FLOW\IN:IF_EX_BADI_SD_DOCUMENTFLOW\ME:ADD_SUBSEQUENT_DOCUMENT\SE:BEGIN\EI D

$$-Start: (1 )----


$$

ENHANCEMENT 1 Z_ESCR53. "active version

*

check sy-uname = 'DKARE'.

DATA: gs_vbfa LIKE LINE OF f_vbfa_tab.

data lt_vbfa type table of vbfa.

FIELD-SYMBOLS: <gs_vbfa> LIKE LINE OF f_vbfa_tab.

  • Types declaration for group delivery data

TYPES : BEGIN OF ty_s_grpdel,

sammg TYPE sammg,

vbeln TYPE vbeln,

END OF ty_s_grpdel.

  • Sales data for the deliveries.

TYPES : BEGIN OF ty_s_sales,

vbeln type lips-vbeln,

vgbel TYPE lips-vgbel,

vgpos TYPE lips-vgpos,

END OF ty_s_sales.

  • sales order data

types : begin of ty_S_vbap,

vbeln type vbap-vbeln,

posnr type vbap-posnr,

end of ty_S_vbap.

  • variables declaration

DATA : gt_grpdel TYPE STANDARD TABLE OF ty_s_grpdel,

st_grpdel TYPE ty_s_grpdel,

gt_sales TYPE STANDARD TABLE OF ty_s_sales,

st_sales TYPE ty_s_sales,

lt_vbap type standard table of ty_S_vbap,

st_vbap type ty_S_vbap.

  • Constants declaration

CONSTANTS: gc_s VALUE 'S',

gc_2 VALUE '2',

gc_3 VALUE '3'.

READ TABLE f_vbfa_tab WITH KEY VBTYP_V = 'C' INTO gs_vbfa.

IF sy-subrc <> 0.

READ TABLE f_vbfa_tab WITH KEY VBTYP_V = 'J' INTO gs_vbfa.

IF sy-subrc <> 0.

READ TABLE f_vbfa_tab WITH KEY VBTYP_V = 'M' INTO gs_vbfa.

endif.

endif.

if gs_vbfa-VBTYP_V = 'C'.

Select vbeln

posnr

from vbap

into table lt_vbap

where vbeln = gs_vbfa-vbelV.

SELECT vbeln

vgbel

vgpos

FROM lips

INTO TABLE gt_sales

FOR ALL ENTRIES IN lt_vbap

WHERE VGBEL EQ lt_vbap-vbeln.

SELECT sammg vbeln

FROM vbss

INTO TABLE gt_grpdel

FOR ALL ENTRIES IN gt_sales

WHERE vbeln EQ gt_sales-vbeln.

elseif gs_vbfa-VBTYP_V = 'J'.

SELECT vbeln

vgbel

vgpos

FROM lips

INTO TABLE gt_sales

WHERE vbeln EQ gs_vbfa-vbelV.

SELECT sammg vbeln

FROM vbss

INTO TABLE gt_grpdel

FOR ALL ENTRIES IN gt_sales

WHERE vbeln EQ gt_sales-vbeln.

elseif gs_vbfa-VBTYP_V = 'M'.

SELECT vbeln

vgbel

vgpos

FROM vbrp

INTO TABLE gt_sales

WHERE vbeln EQ gs_vbfa-vbelV.

SELECT sammg vbeln

FROM vbss

INTO TABLE gt_grpdel

FOR ALL ENTRIES IN gt_sales

WHERE vbeln EQ gt_sales-vbeln.

endif.

break dkare.

data gv_tmp_index type sy-tabix.

clear gs_vbfa.

read table f_vbfa_tab into gs_vbfa

with key vbtyp_v = 'C'.

if sy-subrc = 0.

gv_tmp_index = sy-tabix.

loop at gt_grpdel into st_grpdel.

gv_tmp_index = gv_tmp_index + 1.

clear gs_vbfa.

gs_vbfa-vbelv = st_grpdel-vbeln.

gs_vbfa-vbtyp_n = 'J'.

gs_vbfa-vbeln = st_grpdel-sammg.

gs_vbfa-stufe = '02'.

gs_vbfa-vbtyp_v = 'J'.

INSERT gs_vbfa INTO f_vbfa_tab index gv_tmp_index.

endloop.

endif.

read table f_vbfa_tab into gs_vbfa

with key vbtyp_v = 'J'.

if sy-subrc = 0.

gv_tmp_index = sy-tabix.

loop at gt_grpdel into st_grpdel.

gv_tmp_index = gv_tmp_index .

clear gs_vbfa.

gs_vbfa-vbelv = st_grpdel-vbeln.

gs_vbfa-vbtyp_n = 'J'.

gs_vbfa-vbeln = st_grpdel-sammg.

gs_vbfa-stufe = '01'.

gs_vbfa-vbtyp_v = 'J'.

INSERT gs_vbfa INTO f_vbfa_tab index gv_tmp_index.

endloop.

endif.

read table f_vbfa_tab into gs_vbfa

with key vbtyp_v = 'M'.

if sy-subrc = 0.

loop at gt_grpdel into st_grpdel.

gv_tmp_index = gv_tmp_index .

clear gs_vbfa.

gs_vbfa-vbelv = st_grpdel-vbeln.

gs_vbfa-vbtyp_n = 'J'.

gs_vbfa-vbeln = st_grpdel-sammg.

gs_vbfa-stufe = '02'.

gs_vbfa-vbtyp_v = 'J'.

INSERT gs_vbfa INTO f_vbfa_tab index 1.

endloop.

endif.

ENDENHANCEMENT.

$$-End: (1 )----


$$

endmethod.