Application Development 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: 

profit center

former_member188827
Active Contributor
0 Kudos

hi all

in vf01, when i create invoice for an order, the profit center ABC is hit. my requirment is to distribute the sales among two profit centers ABC & DEF.

i.e if sales is for Rs.50000 then ABC should get 25000 and DEF should get 25000.

can ny1 suggest how to achieve dis?

rgds

Message was edited by:

abapuser

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

pls excute this code and enter ur TCODE ,find ur user exit name.

  • TABLES : TSTC, TADIR, MODSAPT, MODACT, TRDIR, TFDIR, ENLFDIR.

*TABLES : TSTCT.

*DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.

*DATA : FIELD1(30).

*DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.

*PARAMETERS : P_TCODE LIKE TSTC-TCODE OBLIGATORY.

*

*SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.

*IF SY-SUBRC EQ 0.

*SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'

*AND OBJECT = 'PROG'

*AND OBJ_NAME = TSTC-PGMNA.

*MOVE : TADIR-DEVCLASS TO V_DEVCLASS.

*IF SY-SUBRC NE 0.

*SELECT SINGLE * FROM TRDIR WHERE NAME = TSTC-PGMNA.

*IF TRDIR-SUBC EQ 'F'.

*SELECT SINGLE * FROM TFDIR WHERE PNAME = TSTC-PGMNA.

*SELECT SINGLE * FROM ENLFDIR WHERE FUNCNAME =

*TFDIR-FUNCNAME.

*SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'

*AND OBJECT = 'FUGR'

*AND OBJ_NAME EQ ENLFDIR-AREA.

*

*MOVE : TADIR-DEVCLASS TO V_DEVCLASS.

*ENDIF.

*ENDIF.

*SELECT * FROM TADIR INTO TABLE JTAB

*WHERE PGMID = 'R3TR'

*AND OBJECT = 'SMOD'

*AND DEVCLASS = V_DEVCLASS.

*SELECT SINGLE * FROM TSTCT WHERE SPRSL EQ SY-LANGU AND

*TCODE EQ P_TCODE.

*FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.

*WRITE:/(19) 'Transaction Code - ',

*20(20) P_TCODE,

*45(50) TSTCT-TTEXT.

*SKIP.

*IF NOT JTAB[] IS INITIAL.

*WRITE:/(95) SY-ULINE.

*FORMAT COLOR COL_HEADING INTENSIFIED ON.

*WRITE:/1 SY-VLINE,

*2 'Exit Name',

*21 SY-VLINE ,

*22 'Description',

*95 SY-VLINE.

*WRITE:/(95) SY-ULINE.

*LOOP AT JTAB.

*SELECT SINGLE * FROM MODSAPT

*WHERE SPRSL = SY-LANGU AND

*NAME = JTAB-OBJ_NAME.

*FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

*WRITE:/1 SY-VLINE,

*2 JTAB-OBJ_NAME HOTSPOT ON,

*21 SY-VLINE ,

*22 MODSAPT-MODTEXT,

*95 SY-VLINE.

*ENDLOOP.

*WRITE:/(95) SY-ULINE.

*DESCRIBE TABLE JTAB.

*SKIP.

*FORMAT COLOR COL_TOTAL INTENSIFIED ON.

*WRITE:/ 'No of Exits:' , SY-TFILL.

*ELSE.

*FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

*WRITE:/(95) 'No User Exit exists'.

*ENDIF.

*ELSE.

*FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

*WRITE:/(95) 'Transaction Code Does Not Exist'.

*ENDIF.

*

*AT LINE-SELECTION.

*GET CURSOR FIELD FIELD1.

*CHECK FIELD1(4) EQ 'JTAB'.

*SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).

*CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

Reward if it helpful

Thanks

Vana

1 REPLY 1

Former Member
0 Kudos

Hi,

pls excute this code and enter ur TCODE ,find ur user exit name.

  • TABLES : TSTC, TADIR, MODSAPT, MODACT, TRDIR, TFDIR, ENLFDIR.

*TABLES : TSTCT.

*DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.

*DATA : FIELD1(30).

*DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.

*PARAMETERS : P_TCODE LIKE TSTC-TCODE OBLIGATORY.

*

*SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.

*IF SY-SUBRC EQ 0.

*SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'

*AND OBJECT = 'PROG'

*AND OBJ_NAME = TSTC-PGMNA.

*MOVE : TADIR-DEVCLASS TO V_DEVCLASS.

*IF SY-SUBRC NE 0.

*SELECT SINGLE * FROM TRDIR WHERE NAME = TSTC-PGMNA.

*IF TRDIR-SUBC EQ 'F'.

*SELECT SINGLE * FROM TFDIR WHERE PNAME = TSTC-PGMNA.

*SELECT SINGLE * FROM ENLFDIR WHERE FUNCNAME =

*TFDIR-FUNCNAME.

*SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'

*AND OBJECT = 'FUGR'

*AND OBJ_NAME EQ ENLFDIR-AREA.

*

*MOVE : TADIR-DEVCLASS TO V_DEVCLASS.

*ENDIF.

*ENDIF.

*SELECT * FROM TADIR INTO TABLE JTAB

*WHERE PGMID = 'R3TR'

*AND OBJECT = 'SMOD'

*AND DEVCLASS = V_DEVCLASS.

*SELECT SINGLE * FROM TSTCT WHERE SPRSL EQ SY-LANGU AND

*TCODE EQ P_TCODE.

*FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.

*WRITE:/(19) 'Transaction Code - ',

*20(20) P_TCODE,

*45(50) TSTCT-TTEXT.

*SKIP.

*IF NOT JTAB[] IS INITIAL.

*WRITE:/(95) SY-ULINE.

*FORMAT COLOR COL_HEADING INTENSIFIED ON.

*WRITE:/1 SY-VLINE,

*2 'Exit Name',

*21 SY-VLINE ,

*22 'Description',

*95 SY-VLINE.

*WRITE:/(95) SY-ULINE.

*LOOP AT JTAB.

*SELECT SINGLE * FROM MODSAPT

*WHERE SPRSL = SY-LANGU AND

*NAME = JTAB-OBJ_NAME.

*FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

*WRITE:/1 SY-VLINE,

*2 JTAB-OBJ_NAME HOTSPOT ON,

*21 SY-VLINE ,

*22 MODSAPT-MODTEXT,

*95 SY-VLINE.

*ENDLOOP.

*WRITE:/(95) SY-ULINE.

*DESCRIBE TABLE JTAB.

*SKIP.

*FORMAT COLOR COL_TOTAL INTENSIFIED ON.

*WRITE:/ 'No of Exits:' , SY-TFILL.

*ELSE.

*FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

*WRITE:/(95) 'No User Exit exists'.

*ENDIF.

*ELSE.

*FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

*WRITE:/(95) 'Transaction Code Does Not Exist'.

*ENDIF.

*

*AT LINE-SELECTION.

*GET CURSOR FIELD FIELD1.

*CHECK FIELD1(4) EQ 'JTAB'.

*SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).

*CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

Reward if it helpful

Thanks

Vana