After saving VF01, if the billing type is IV and the message output type is RD04(predefined by SAP) .The program will create IV IDCO automatically.Often,user want to enhance the IDOC to implement particular requirement.Now ABAPer need to debug the program.
The FM which generate IDOC for this output type is IDOC_OUTPUT_INVOIC_IV_MM. Usually, ABAPer will set breakpoint in this FM. So did i. But so strange that, the program generate the IDOC directly instead stopping.
The break point is not stopping because output determination is done in a separate background process, not in dialog process.Use below way to step into the IDOC generation code.
In VF01 message control,set output RD04 timing to 1 - send with periodically scheduled job.
Then set break point in IDOC_OUTPUT_INVOIC_IV_MM.
Go to SE38 and execute program RSNAST00 with parameters:
OBJECT KEY: Billing document NO.
OUTPUT TYPE: RD04
TRANSMISSION MEDIUM: 6 (EDI).
After executing the RSNAST00,the program will submit routine in program RSNASTED.
This way is also can be used in other documents, like PO etc.