Transcription of Inside the VOFM Program - SAPtech Solutions
1 Inside the VOFMP rogramTechnicalSolutionGuideThe Smith Consulting Group, Box 703 Flanders, NJ and R/3are the trademarks or registered trademarks of SAP AG in Germany and in several other 2005 The Smith Consulting Group, Inc. All Rights the vofm Program11/25/2005 Page2of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights structure of a vofm Indicator Indicator Codes contained in the vofm Custom Routine Range Determination by Group Name Determination by Group Include Name Determination by Group Class Determination by Group Include and Form Names Determined in the vofm Include of the Active the TFRM Include of the Short Program the vofm Program11/25/2005 Page3of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights many SAP specialists have used and created vofm routines in R/3, fewunderstand how these routines are technically implemented within the various programsand function groups in which they purpose of this paper is to provide a technical explanation of how the vofm transaction works.
2 It is assumed that the reader has a working knowledge of the vofm transaction and ABAP programming. The screen shots and data in this document weretaken from an R/3 structure of a vofm routineVOFM routines are ABAP FORM routines and they exist in a wide variety of programsand function groups. The routines are organized by a group code and there are manygroup codesavailable in the system. Each routine is contained in a unique ABAP includefile. These include files are then included in a parent include file. Finally, the parent include file is included in the main Program or function group. While this design mayseem complicated, it allows the generation, activation and deactivation of these routinesto occur without modifying the main Program . When a routine is created, a new includeis created and the associated parent include is updated. Activation and deactivationmodify the parent include by adding or removing the include file that contains the vofm Program11/25/2005 Page4of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc.
3 All Rights Indicator CodeVOFM routines are organized using the Group Indicator Code. The vofm Program usesthe group indicator to determine the Program include and subroutine names when itdynamically creates these objects. The assignment of these names is hard coded in theprogram. The valid group indicator codes are defined in data base domain GRPZE usinga value GRPZEI nside the vofm Program11/25/2005 Page5of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights Indicator Codes contained in the vofm ProgramThe following table contains the group indicator codes that are hard coded in the vofm Program . This list may be different depending on the release and does not correspondexactly to the domain value requirements in the orderADATData transfer in the orderCASBC opying requirements for sales activitiesCASCData transfer for sales activitiesCHBEB atch search strategiesCHMVS tock requirementsCHRGB atch requirementsEXKOE xport requirementsFBEDC opying requirements in the billing documentFDATData transfer in the billing documentFOFUS ubsequent functionsLBEDC opying requirements in the deliveryLDATData transfer in the deliveryLST1 Info blocks for RV reportingLST1 Info blocks for RV reportingMCA1 Work item requirements (MCA = Activity)MCA2 Work item formulas (MCA = Activity)
4 MCB1 Stock control requirementsMCB2 Stock control formulasMCE1 PURCHIS RequirementsMCE2 PURCHIS formulasMCF1 SFIS requirementsMCF2 SFIS formulasMCI1PM requirementsMCI2PM formulasMCL1WS requirements in LISMCL2WS requirements in LISMCQ1 QMIS requirementsMCQ2 QMIS formulasMCT1 TIS requirementsMCT2 TIS formulasMCU1 UIS requirementsMCU2 UIS forms (Utility Information System)MCV1 SIS requirementsMCV2 SIS formulasMCW1 RIS requirementsInside the vofm Program11/25/2005 Page6of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights formulasMCZ1 External data requirementsMCZ2 External data formulaPBEDP ricing requirementsPBEFM aterial determination requirementsPBEKA ccount determination requirementsPBELM aterial listing requirementsPBENO utput control requirementsPBNAFree goods requirementsPBWVR equirements for pricingPFRAP ricing formulas: Condition basisPFRMP ricing formulas: Condition valuePFRSP ricing formulas.
5 Scale basisPNATPRUNPSTKS tructure of scale key for pricingREAKA rchiving for ordersREKAA rchiving for sales activitiesRELKA rchiving for deliveriesRERKA rchiving for billing documentsRISKRisk management (form of payment guarantee)TBEDC opying requirements for textsTDATData transfer involving textsTNAMText names for word processingTRAUData transfer transportTXNMText names for copying modules (out of date)VCAUA uthorization requirements for payment cardsVFCLM ulti-dimensional scalesVKMPC redit check requirementsVSELData transfer for shipping unitsInside the vofm Program11/25/2005 Page7of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights MaintenanceSince vofm routines are named after the transaction, most people access the routinesusing the vofm transaction. Unfortunately, vofm only provides access to a subset ofthe routines available.
6 An alternative is transaction VOFN, which provides access to allroutines in all VOFNVOFN is executed by group indicator (the screen refers to it as Class). Inside the vofm Program11/25/2005 Page8of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights the group indicator is selected, the detailscreen looks and functions like the vofm detail screen. It is actually the same Program . The following example displays all of theroutines in the MCV1 class (SIS Requirement Routines). Inside the vofm Program11/25/2005 Page9of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights Custom RoutinesWhen implementing custom vofm routines, aquestion frequently asked is what routinenumbers should be used. The answer is that it depends on thegroupindicator. The tableina subsequentsection denotes the starting customer range for each group indicator(Customer Include column).
7 The selection of an appropriate routine number is importantbecause it determines the include file naming convention as well as the developmentclass used when creating the routine. The customer routine ranges are hard coded in theprogram. The following screen shotsdetail how it Routine RangesThe following screen shot is from the global data section of the Program . There are threepossible starting customer ranges defined (USER_GRPNO_FIRST1,USER_GRPNO_FIRST2 and USER_GRPNO_FIRST3). Inside the vofm Program11/25/2005 Page10of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights Range Determination by Group IndicatorThe group indicator is used by the logic that determines the starting number in thecustomer range. Essentially, the rules can be summarized as follows: For groups PSTK (Pricing Formula Group Structure) and TDAT (Data Transfer Text), the customer range starts at 50.
8 For group FOFU (Subsequent Functions) the customer range starts at 900. For all others, the customer range starts at the vofm Program11/25/2005 Page11of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights Name Determination by Group IndicatorThe group indicator is also usedto determine the include file name for routines. In thefollowing example, Sales Order Copy Requirement routines (ABED) in the customerrange will be named RV45 Cxxx and routines in the SAP range will be namedLV45 Cxxx. In either case, the include will be created within function group the vofm Program11/25/2005 Page12of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc. All Rights Include Name Determination by Group IndicatorThe group indicator is also used to determine the parent include file name for routines. Inthe following example, Sales Order Copy Requirement routines (ABED)in the customerrange will be included in RV45 BNNN and routines in the SAP range will be included the vofm Program11/25/2005 Page13of36 Technical Solution GuideCopyright 2005 The Smith Consulting Group, Inc.
9 All Rights Class Determination by Group IndicatorThe group indicator is also used to determine the development class assigned to includefiles. In the following example, Sales Order Copy Requirement routines (ABED) will beassigned to development class VA. The same development class is assigned to bothstandard and customer created the vofm Program7/25/2005 Page14of36 Technical GuideCopyright 2005 The Smith Consulting Group, Rights Include and Form Names Determined in the vofm ProgramThe following table contains the naming convention used by the vofm Program to dynamically generate the source includes and formroutines by Group Indicator. This list may be different depending on the release and does not correspond exactlyto the domain value (Parent)StandardIncludeCustomerInclude(P arent)CustomerIncludeForm NameABEDVASAPLV45 CLV45 CNNNLV45 CxxxRV45 BNNNRV45B6xxBEDINGUNG_PRUEFEN_xxxADATVAS APFV45 CFV45 CNNNFV45 CxxxRV45 CNNNRV45C6xxDATEN_KOPIEREN_xxxBBYRWBBYSA PLV61 NFBBYNNNNFBBYNxxxRBBYNNNNRBBYN6xxBBYREQ_ xxxCASBVCASAPLV43 ALV43 ANNNLV43 AxxxRV43 ANNNRV43A6xxBEDINGUNG_PRUEFEN_xxxCASCVCA SAPLV43 AFV44 ANNNFV44 AxxxRV44 ANNNRV44A6xxDATEN_KOPIEREN_xxxCHBEVBSAPL 080ML080 MNNNL080 MxxxR080 MNNNR080M6xxBED_SUCH_STRATEGIE_xxxCHMVMD BFSAPLMDBFLMDBFNNNLMDBFxxxRMDBFNNNRMDBF6 xxBFMVS_xxxCHRGVBSAPLV01 FLV01 FNNNLV01 FxxxRV01 FNNNRV01F6xxCHMVS_xxxEXKOVASAPLV52 ELV52 ENNNLV52 ExxxRV52 ENNNRV52E6xxAUSFUHR_BED_PRUEFEN_xxxFBEDV FSAPLV60 ALV60 ANNNLV60 AxxxRV60 BNNNRV60B6xxBEDINGUNG_PRUEFEN_xxxFDATVFS APFV60 CFV60 CNNNFV60 CxxxRV60 CNNNRV60C6xxDATEN_KOPIEREN_xxxFOFUVLSAPL V07 ALV07 ANNNLV07 AxxxRV07 ACCCRV07A9xxBEDINGUNG_PRUEFEN_xxxLBEDVLS APFV50 CFV50 BNNNFV50 BxxxRV50
10 BNNNRV50B6xxBEDINGUNG_PRUEFEN_xxxLDATVLS APFV50 CFV50 CNNNFV50 CxxxRV50 CNNNRV50C6xxDATEN_KOPIEREN_xxxLST1 VREPSAPRV77 SRV77 SNNNRV77 SxxxRV77 UNNNN/ALST1_xxxLST1 VREPSAPRV77 URV77 SNNNN/ARV77 UNNNRV77U6xxLST1_xxxMCA1 MCWFSAPFMCAFSAPFMCAFFMCA1xxxRMCAUNNNFMCA 16xxMCA1_xxxMCA2 MCWFSAPFMCAFSAPFMCAFFMCA2xxxRMCAUNNNFMCA 26xxMCA2_xxxMCB1 MCSSAPFMCBFFMCB1 NNNFMCB1xxxRMCB1 NNNFMCB16xxMCB1_xxxMCB2 MCSSAPFMCBFFMCB2 NNNFMCB2xxxRMCB2 NNNFMCB26xxMCB2_xxxMCE1 MCSSAPFMCEFFMCE1 NNNFMCE1xxxRMCE1 NNNFMCE16xxMCE1_xxxInside the vofm Program7/25/2005 Page15of36 Technical GuideCopyright 2005 The Smith Consulting Group, Rights (Parent)StandardIncludeCustomerInclude(P arent)CustomerIncludeForm NameMCE2 MCSSAPFMCEFFMCE2 NNNFMCE2xxxRMCE2 NNNFMCE26xxMCE2_xxxMCF1 MCSSAPFMCFFFMCF1 NNNFMCF1xxxRMCF1 NNNFMCF16xxMCF1_xxxMCF2 MCSSAPFMCFFFMCF2 NNNFMCF2xxxRMCF2 NNNFMCF26xxMCF2_xxxMCI1 MCSSAPFMCIFSAPFMCIFFMCI1xxxRMCIUNNNFMCI1 6xxMCI1_xxxMCI2 MCSSAPFMCIFSAPFMCIFFMCI2xxxRMCIUNNNFMCI2 6xxMCI2_xxxMCL1 VLSAPFMCLFSAPFMCLFFMCL1xxxRMCLUNNNFMCL16 xxMCL1_xxxMCL2 VLSAPFMCLFSAPFMCLFFMCL2xxxRMCLUNNNFMCL26 xxMCL2_xxxMCQ1 MCSSAPFMCQFSAPFMCQFFMCQ1xxxRMCQUNNNFMCQ1 6xxMCQ1_xxxMCQ2 MCSSAPFMCQFSAPFMCQFFMCQ2xxxRMCQUNNNFMCQ2 6xxMCQ2_xxxMCT1 MCSSAPFMCTFFMCT1 NNNFMCT1xxxRMCT1 NNNFMCT16xxMCT1_xxxMCT2 MCSSAPFMCTFFMCT2 NNNFMCT2xxxRMCT2 NNNFMCT26xxMCT2_xxxMCU1 MCSSAPFMCUFFMCU1 NNNFMCU1xxxRMCU1 NNNFMCU16xxMCU1_xxxMCU2 MCSSAPFMCUFFMCU2 NNNFMCU2xxxRMCU2 NNNFMCU26xxMCU2_xxxMCV1 MCSSAPFMCVFFMCV1 NNNFMCV1xxxRMCV1 NNNFMCV16xxMCV1_xxxMCV2 MCSSAPFMCVFFMCV2 NNNFMCV2xxxRMCV2