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

Stuck up in the code.Please help me.

Former Member
0 Likes
605

Hi,

IF pa0168-bplan = 'P005' then send 'ST' to RDSTDCover field.

send BEGDA OF PA0168 if 'ST' was sent for RDSTDCover, else send blanks for field RDSTDStrDte

send ENDDA of PA0168 if 'ST' was sent for RDSTDCover& ENDDA is not equal to 12/12/9999. Else send blanks for field RDSTDStpDte.

If RDSTDCover = 'ST' Send '100525' for field RDSTDRptNum.

if RDSTDCover = 'ST' Send 'N' for field RDSTDContPlan.

if RDSTDCover = 'ST' do the following:

If PA0001-BURKS='1009' go to Table Z_PR_legcode to retrieve previous Company Code Text for PA0002-PERID.

I was coded like this

loop at p0168 into w0168

where begda <= v_rundat and

endda >= v_rundat.

if w0168-bplan = 'p005'

w_MetLife_detail-rdstdcover = 'ST'

endif.

endloop.

but i was stuck up here.Please help me on this.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
582

hello,

as per my understanding of your requirement this is what is needed.


LOOP AT p0168 INTO w0168.
  IF wa0168-bplan = 'P005'.
    rdstdcover = 'ST'.
    rdstdstrdte = begda.
    rdstdrptnum = '100525'.
    rdstdcontplan = 'N'.
    IF endda NE '99991212'.
      rdstdstpdte =endda.
    ELSE.
      rdstdstpdte = space.
    ENDIF.
  ELSE.
    rdstdstrdte = space.
    rdstdstpdte = space.
  ENDIF.
  IF rdstdcover = 'ST' .
    IF pa0001-burks='1009'.
      "Table Z_PR_legcode to retrieve previous Company Code Text for PA0002-PERID.
select bukrs
from Z_PR_LEGCODE
where PERID = wa_PA0002-PERID.
    ENDIF.
  ENDIF.

ENDLOOP.

Regards,

Mansi.

Edited by: SAP USER on Apr 24, 2009 11:44 AM

Hi,

IF pa0168-bplan = 'P005' then send 'ST' to RDSTDCover field.

send BEGDA OF PA0168 if 'ST' was sent for RDSTDCover, else send blanks for field RDSTDStrDte

send ENDDA of PA0168 if 'ST' was sent for RDSTDCover& ENDDA is not equal to 12/12/9999. Else send blanks for field RDSTDStpDte.

If RDSTDCover = 'ST' Send '100525' for field RDSTDRptNum.

if RDSTDCover = 'ST' Send 'N' for field RDSTDContPlan.

if RDSTDCover = 'ST' do the following:

If PA0001-BURKS='1009' go to Table Z_PR_legcode to retrieve previous Company Code Text for PA0002-PERID.

I was coded like this

loop at p0168 into w0168

where begda <= v_rundat and

endda >= v_rundat.

if w0168-bplan = 'p005'

w_MetLife_detail-rdstdcover = 'ST'

endif.

endloop.

but i was stuck up here.Please help me on this.

4 REPLIES 4
Read only

Former Member
0 Likes
583

hello,

as per my understanding of your requirement this is what is needed.


LOOP AT p0168 INTO w0168.
  IF wa0168-bplan = 'P005'.
    rdstdcover = 'ST'.
    rdstdstrdte = begda.
    rdstdrptnum = '100525'.
    rdstdcontplan = 'N'.
    IF endda NE '99991212'.
      rdstdstpdte =endda.
    ELSE.
      rdstdstpdte = space.
    ENDIF.
  ELSE.
    rdstdstrdte = space.
    rdstdstpdte = space.
  ENDIF.
  IF rdstdcover = 'ST' .
    IF pa0001-burks='1009'.
      "Table Z_PR_legcode to retrieve previous Company Code Text for PA0002-PERID.
select bukrs
from Z_PR_LEGCODE
where PERID = wa_PA0002-PERID.
    ENDIF.
  ENDIF.

ENDLOOP.

Regards,

Mansi.

Edited by: SAP USER on Apr 24, 2009 11:44 AM

Read only

0 Likes
582

Hi,

Thanks for your reply.Again same condtions are repeating for LTD plan 'P006'.Where i write this conditions.

IF pa0168-bplan = 'P006' then send 'LT' to RDLTDCover field.

send BEGDA OF PA0168 to RDLTDStrDte if 'LT' was sent for RDLTDCover, else send blanks.

send ENDDA of PA0168 to RDLTDStpDte.if 'LT' was sent for RDLTDCover& ENDDA is not equal to 12/12/9999. Else send blanks for field.

If RDLTDCover = 'LT' Send '98340' for field RDLTDRptNum.

if RDLTDCover = 'LT' Send 'N' for field RDLTDContPlan.

if RDLTDCover = 'LT' do the following:

If PA0001-BURKS='1009' go to Table Z_PR_legcode to retrieve previous Company Code Text for PA0002-PERID.

Regards,

Sujan

Read only

0 Likes
582

hello,

Below the above logic, add this within loop.


  IF wa0168-bplan = 'P006'.
    rdstdcover = 'LT'.
    rdstdstrdte = begda.
    rdstdrptnum = '98340'.
    rdstdcontplan = 'N'.
    IF endda NE '99991212'.
      rdstdstpdte =endda.
    ELSE.
      rdstdstpdte = space.
    ENDIF.
  ELSE.
    rdstdstrdte = space.
    rdstdstpdte = space.
  ENDIF.
  IF rdstdcover = 'LT' .
    IF pa0001-burks='1009'.
      "Table Z_PR_legcode to retrieve previous Company Code Text for PA0002-PERID.
    ENDIF.
  ENDIF.

The logic is generic, for other types of plans, you just need to add more conditions within the same loop changing the necessary values liek in above case of ST, LT etc.

Read only

0 Likes
582

Thanks a lot.

Regards,

Sujan