cancel
Showing results for 
Search instead for 
Did you mean: 

VOFM -V3 -routine 62

former_member214084
Participant
0 Kudos

Hi Experts

I have a requirement to restrict automatic proposing of output for billing documents which are older then a specific date.

It looks routine 62 is called at that instance.

Is there a need to create a new routine & pass it to output type which is proposed ? or Do we have configuration level solution to this requirement ?

Thank you .

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

You need to create a new routine for that.

Answers (3)

Answers (3)

Lakshmipathi
Active Contributor
0 Kudos

Moved from SAP ERP SD Billing to Output Management

boris_saller-new
Explorer
0 Kudos

Hi Drashti,

bad luck.

All you can do now is to verify your settings by comparing e.g. with a Q-system or a recent copied sandbox. Sorry, I hoped to warn you.

boris_saller-new
Explorer
0 Kudos

Hi Drashti,

you will need a new routine e.g. 962 for that.

You should also think of enhancing communication structure KOMKBV3 to fill your additional criteria via exit.

In this context ERDAT might be easier to determine within your routine.

Call VOFM and create 962.

You will be asked to register your new  requirement routine.

Copy all your details required from 062 and add your additional coding.

Activate your new  requirement in VOFM.

Be sure only to activate your new rule!  We  just  had to restore a system were somebody pressed the "activate all" option....

That's the development here.

Now go to IMG and replace 062 by 962 for all invoice output types concerned.

Well, that's it....test & debug, if required.

On more hint:

Add RV80HGEN to your transport to save manual run in Q- and P-environment.

former_member214084
Participant
0 Kudos

Hi Boris ,

You are right. I have already created a new routine added a logic, working fine. Accidentally I have "activated all'" , Now What should be done ?

boris_saller-new
Explorer
0 Kudos

Hi Drashti,

bad luck.

All you can do now is to verify your settings by comparing e.g. with a Q-system or a recent copied sandbox. Sorry, I hoped to warn you.

VeselinaPeykova
Active Contributor
0 Kudos

In routine 62 the checks are on the statuses of the billing document - general incompletion status, pricing incompletion, invoice list incompletion, status of posting to accounting. I see no date checks there in a standard system.

The routine is called most probably because somebody set it up for a specific billing type in the output procedure.

If you requirement is not to determine output condition for documents created before date dd.mm.yyyy, just set up the condition records validity.

Probably I did not understand the requirement very well...

Billing is usually printed either at the time the invoice is posted to accounting or with a batch job with a certain selection criteria, so even if the output is determined for a document from last year - what is the issue, nobody will process it? Even if users print manually from VF31, just make some settings on the selection screen for them.

former_member214084
Participant
0 Kudos

Hi Veselina,

It looks I haven't explained the requirement properly.

Example :

A billing document 98563214 has ERDAT- 2011-12-11 that is already been billed and posted in accounting. A required output type generated and taken the print/mail etc. whatever is required.

Say for instance on today's date , I am going into VA02 -> 98563214 ->goto ->header->output

It is proposing an another output type in amber (ZBAI) which I want to restrict with a ERDAT check.

If ERDAT of a document(98563214) <= 2014-12-12

sy-subrc = 4.

else

sy-subrc = 0.

endif.

My question here is Do I need to create a new routine or configuration changes will do the job ?d

VeselinaPeykova
Active Contributor
0 Kudos

If it is not acceptable to have ZHAI with dispatch time different from 4, then yes, a you need a new routine.

Former Member
0 Kudos

Drashti, please note that '62' requirement doesn't have an ERDAT or FKDAT check as you've been guided with above. There're few ways to achieve this, either create a new routine and assign it to your billing output type but for some cases when the output determination has been done manually then custom routine will not be triggered properly so for that you can also put the logic in your print program, totally depends on you what's most feasible for you go with that option. Thanks.