Archive for the ‘Uncategorized’Category

Introduction to SAP SmartForms

What is SAP Smart Forms?

SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms.

SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won’t include any programming effort. Thus, a power user without any programming knowledge can configure forms with data from an SAP System for the relevant business processes.

To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At runtime the system processes this function module.

You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.

You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed.

SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout you can suppress the background graphic, if desired.

SAP Smart Forms also support postage optimizing.

Execute transaction SMARTFORMS to start SAP Smart Forms.
You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics.
To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
These actions do not include writing of coding lines or using a Script language.
Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one.
For Web publishing, the system provides a generated XML output of the processed form.
Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools.
XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form.
You can create additional fonts and style with transaction SMARTSTYLES
This can then be define in the paragraph and character formats, which you can then be assign to texts and fields in the Smart Form.
The character formats includes effects such as superscript, subscript, barcode and font attributes.

28

10 2017

Delete a SAP client at operating system level

In order to delete a client at operation system level

login to the OS with user SIDadm

– Navigate to  /usr/sap/trans/bin directory

– Create a file with the following

clientremove
client=812
select  *

Save the file with the naming convention

delete_<SID>_<clntno>.ctl

So if the systen ID is  SID = ZZZ  and CLIENT = 812   the filename will be delete_ZZZ_812.ctl

Then run the operation via R3TRANS command

R3trans -w delete_<SID>_clntno.log delete_<SID>_<clntno>.ctl

R3trans -w delete_ZZZ_812.log delete_ZZZ_812.ctl

you can also monitor the delete with the TAIL command

tail -f delete_ZZZ_812.log

22

02 2017

ALV consistency check

ALV dumps

Often, the ALV screen of your report is shown correctly, but using any of the ALV functions will cause a dump, mostly with the message GETWA_NOT_ASSIGNED. In most cases this is caused by an error in the fieldcatalog or in the sortfields. Fieldnames in both structures must be in upper case and there must be a corresponding component in the output table. An easy way to find out those misconfigured structures is the ALV consistency check.

ALV Grid

You can invoke the ALV consistency check by holding down the SHIFT key and double click with the right mouse button in an empty area of the ALV Grid.

After the ALV consistency check is started, you can easily check the layout options, the field catalog, the sort fields and so on. And not even errors are shown up, you should fix the warnings, too. Warnings will be sown shown up if you omit the quantity or currency for example.

Checking the ALV Grid should always be done after development like checking your sourcecode with the Code Inspector.

The consistency check can be done without the mouse in addition. Switch to the list view by going to List->Print preview and enter &SOS in the command field.

ALV List
In an ALV list the mouse action does not work, you have to enter &SOS in the command field like described above

29

09 2015

Data Archiving

Data Archiving
——————–

Data archiving refers to the removal of application data from the SAP system using an archiving program and storing the data in an archive file (at least one file).  The system uses an archiving program which is part of an archiving object.

The contents of business objects in the SAP system are distributed across several database tables.
Archiving objects combine the tables which are logically linked by business objects.
This insures that all of the information belonging to a business object is written to an archive file and deleted from the database.

Only data from completed business processes or from selected fiscal years can be archived.
Master data can be archived only if they have been marked with a deletion indicator.Some archiving objects set the deletion indicator in a special pre-processing program for data archiving, such as the archiving object CO_ORDER.

Archiving transactions can be centrally called from transaction SARA.

Data archiving is a two-stage process:
—————————————
1- Creating Archiving Files – The archiving program writes the data to be archived form the R/3 database to the archive files.

2- Deleting the data – The deletion program first reads the data from the archive file and then deletes it from the database.

Optionally, you can run a preprocessing program before starting an archiving session.
Pre-processing programs can, for example, mark for deletion (PP/PM/CO), and provide information on the archivability of data (SD).

1- Creating the Archive file
—————————-
In the first step, the archiving program creates a (first) archive file.
The data to be archived is read from the database in a background process and written to the archive file. This process lasts until the following results occur:
1. Archiving is completed: All data for selection has been read and written.
2. Archiving is not yet complete, but the archive file has reached the maximum size, as specified in Customizing.
3. Archiving is not yet complete but the archive file contains the number of objects as specified in Customizing.

2- Deleting the data
———————
There is one deletion process for each archive file
There are three ways to schedule the delete program:
1- Variant 1 : Run deletion jobs paralel to Archiving
After closing an archive file, ADK opens a new file and continues with the archiving process. The
delete program is then started in parallel. It proceeds to read the data from the archive file which has
just been closed and then deletes the data records from the database.
In this scenario, the archiving and delete programs are running in parallel.
In customizing You must select ’Start automatic’ under “Settings for delete program” in Archiving object – specific
Customizing.
2- Variant 2 : Start delete jobs manually
The system administrator starts the delete program manually after all of the archive files have been
closed.
The archiving session is closed once completed.
The delete run contains one process for each archive file.
In customizing You must select “No scheduling”  under “Delete program settings” in technical Customizing for the archiving object.
Start automatic is not selected.
3- Variant 3: Starting delete jobs automatically
The delete programs are scheduled automatically after all archive files have been closed.
The archiving session is closed once completed.
The delete run contains one process for each archive file.
In Customizing ’Start automatic’ is selected under “Delete program settings” in Technical
Customizing for the archiving object. The “Start at end” is selected in the definition
indicators for the archiving object in transaction AOBJ.

Servers for Archiving and Delete Jobs
————————————-
As of Release 4.5A, when scheduling jobs, you can specify the server on which the background jobs
are to run. If you do not specify a server the archiving program always runs in the background, preferably on a background server that is also
a database server.
You can schedule jobs using external schedulers. To schedule delete jobs outside transaction SARA, see SAP Note 205585.
In SAP R3, SE38 or SM36 can be used.
Events can be used for scheduling.  The event “SAP_ARCHIVING_WRITE_FINISHED” is triggered at the end of archiving session. The event

“SAP_ARCHIVING_DELETE_FINISHED” is triggered at the end of delete jobs belonging to same session.

If the database server has enough free resources and has an R3 instance on it then the netwrok load during archiving can be prevented.

Factors influincing the archiving duration are hardware used,  checks to ensure completeness of business processes, the amount of data to be archived, the

acrhiving sequence, size of the database, system load, archive files (NFS or local)

Archive Development Kit
———————–
All archiving programs are based on the Archive Development Kit
The ADK makes programming interfaces available to the applications to enable the following functions:
· Writing archive files
· Reading archive files
· Including archiving classes

The ADK ensures interpretability or readability of the bit sequences and conversion of the code page
if required. It also carries out automatic temporary structure conversions if changes were made to
the data objects in earlier releases.
 The ADK is included in the archiving programs by calling ADK methods. ADK stores the data in a
standardized format.
 To ensure access to the data, ADK writes management data to the database

Access to archived data is only possible using ADK

Archiving Objects
——————
In data archiving, all of the table records belonging to a data object are written together in context to
an archive file and then deleted from the database.

examples of archiving objects
———————————-
SD_VBAK Data structure: Orders
SD_VBKA Data structure: Sales activities
RV_LIKP Data structure: Deliveries
PP_ORDER Data structure: Production orders

Archiving objects are defined by the individual applications.You can create customer-specific archiving objects for customer-specific Z and Y tables.
The maintenance transaction for archiving objects is AOBJ. An archiving object must contain archiving and delete programs.
Programs for the following functions are optional: Reload, reporting, fill and empty indexes, preprocessing, and postprocessing. Technically, read programs

are also optional, but from a business point of view, they are required.

Application-specific Customizing includes the criteria that decide whether documents are archivable
or not. As well as meeting these criteria, a document must also have the status CLOSED in order to be archivable.

In transaction AOBJ, the “Buiild index” indicator in basic data means that an index can be created. If it is selected, there must be programs for filling and

emptying indexes. The indexes created are used by the application to access individual archived documents (within the standard transactions). If this

indicator is set, the deletion run fills an application-specific index table with index data for direct access to the document from the application’s standard

transactions. If this indicator is not set, no index data is generated for the deleted records.

Transaction AOBJ
—————–
Displays/maintains information about the archiving objects which are stored table ARCH_OBJ. The definitions of standard archiving objects should not be

cahnged. In AOBJ
– you  enter index fill and empty programs.
– You can enter customer-specific read programs.(enter customer-specific read programs in table ARCH_REPOW with  transaction SM30.)
– You can select “Start at end” to control the delete programs.

Navigation levels of transaction AOBJ
level 1: Archiving object
level 2: Tables which are archived
level 3: Tables in which you only delete
level 4: Maintain network graphic
level 5: Customizing settings
level 6: Archiving classes used
Archiving classes are managed in transaction ACLA.
level 7: Read program
A read program also appears in this selection list if it was entered in the table ARCH_REPOW using SM30
level 8: Customizing transactions
The main archiving criteria is the residence time for transactiona data and deletion indicator for master data.
Residence time: The length of time a document must remain in the database before it can be archived and deleted.
level 9: Info tables for archive data
level 10: Exit routine assignment in generation

Customizing in Data Archiving:
——————————-
Customizing is  required in four areas
1- General settings
you specify the name of the archiving object under which the archive files are to
be created and the file system in which the archive files are to be stored. You carry out maintenance
in transaction FILE. The archiving object in transaction SARA links to this

The name under which the archive file is created on the hard disk is entered in the parameter “phsy file” in the logical file name assigned to an

archiving object. The file name variables can, if necessary, be combined with other characters.
Param_1: Two-character application abbreviation taken from the archiving object
Param_2: One-character alphanumeric number, which guarantees that the archive file name is uunique. During an archiving session, the system adds this

number to an archive file name, where the file name already exists.Max. 36 possible entries (0-9 and a- z).
Param_3: ADK gives the name of the archiving object to the parameter (as of Release 4.5B).

In transaction FILE, you can customize the settings for all clients. If you want to use other settings for a specific client, you can perform

Customizing specifically for this client using transaction SF01.

2- Techincal settings
for an archiving object determine the size of an archive file, for example, and specify whether the delete program is to be run immediately after the

archiving run and whether the archive file created can be stored in an optical archive. The maintenance transaction for technical settings is SARA
3- application specific customizing
you specify the applications and criteria for archiveability for data that is to be analyzed later in the archiving run. You are required to specify

the residence times for transaction data and to set the deletion indicator for master data. Application-specific settings are made in Customizing for

the relevant application.
4- cross-archiving object technical settings
affect, for example, the writing of verification data. When archive files are being written, they can be supplied with verification information. This

does not affect the size of the archive files. Any corrupt files are recognized and a system message is issued. The deletion is then not started.
Data Archiving monitor: Activate or deactivate an administration function in CCMS

size of the Archive File
—————————–
-size in MB
-Max number of data objects
Whichever value is reached first triggers a new file. No value means one file is generated.
Recommended sizes: 100-200 MB
Where there are a lot of files, note that one delete run is scheduled for each archive file and that each delete run contains one background process. The

system workload therefore increases with the number of files
You specify directly the content repository in which the ADK files are to be stored.
You can specify that the archive files are to be stored in the external system before the data is deleted.
If you do not set the “delete program reads from storage system indicator”, a copy of the ADK file is left in the file system after storage and is deleted by

the delete program.

The delete program uses the commit counter to trigger a database commit after a specified number of archived objects. The setting of this value affects

program performance. Recommended commit counter setting: A value greater than 10 is generally not recommended. You are strongly advised to manually check the

value of the commit counter (see Note 69143).

Data Archiving Variants:
—————————-
Each archiving session uses an archiving variant. The variants contain the following info.
– Selection criteria for the data to be archived
– Whether delete program runs in test mode or not
A separate delete program variant must be saved for each delete program . There must be at least one test and one live run variants.
Archiving variants are maintained in the archiving transaction just before the archiving session

SAP& / CUS& variants –> saved in client 000 and accessible to all clients
non SAP& / CUS& variants –> saved in specific clients and imported

Application Specific Customizing in SD
—————————————–
SD_VBAK    –> Table V_TVARA     –>    transaction VORA    Residence time per sales org. and per document type.  User exit possible
SD_VBRK    –> Table V_TVARR     –>    transaction VORR    Residence time per sales org. and per document type.  User exit possible. Activate check FI

doc.
RV_LIKP    –> Table V_TVARL     –>    transaction VORL    Residence time per sales org. and per document type.  User exit possible. Activate check FI

In standard the starting point for residence time is the documetn creation date.

Customer specific checks/User Exits:
examples.
1. A sales order requires an internal procurement. The sales order should remain in the system until the production is complete.
Consequently, the time to be checked is not based on the document creation date.
2. Based on the order, the system creates a purchase order. The purchase order is to be archived before the order.

Creating user exits for SD Archiving:
1- Call transaction  SE38 and run report SDCLVOFM .
2- locate  REAK  – Order
RERK  – Billing doc
RELK     – DElivery
3- change mode must be selected
4- In the next screen select the specified form routine and call teh source text. Then enter the customer specific code
5- Actiocate the user exit
6- Enter teh number of the exit in the application speciifc customizing in the RNR field

For SD user exits, see Note 114340. The returned value is contained in the variables SV_ARCHBAR. The entry X stands for archivable, space stands for non-

archivable.

DATABASE ANALYSIS
—————–

Use DB02 or DBACOCKPIT to get information on table sizes , indexes, table spaces
Use DB15 to get information on which archive objects contain which tables or vice verca. Also get information on space statistics for tables
Use TAANA to get table analysis information. It provides information on how the data is distributed to the various clients.
The variant DEFAULT is always available, but differentiates the documents according to the client only.
SAP can provide an ARCHIVE variant that contains archiving relevant criteria.
Separate customer-specific variants can be created, if needed.
The system lists the data corresponding to the criteria in the analysis. Thus the selection criteria that are most efficient for minimizing the data

in the database can be determined.
Analyses are saved in the database in specific tables that belong to TAANA. Delete the results as
soon as your data archiving run is complete.To delete analyses, choose Utilities > REorganize analysis

Use ALO1 to reach to DRB (Document relationship browser).
Finds an SAP document and all its related documents. You can branch to specific documetns from DRB. Each BOR object is identified by its key.

Dependencies between Archiving Objects:
—————————————
Check the network graphic in SARA for a chosen archiving object. Network grphic shows the last archive date. Green finished, yellow incomplete run.

MM_MATBEL -> MM_INVBEL -> MM_REBEL
MM_EKKO -> MM_EBAN -> MM_EINA -> MM_ASMD
SD_VFKK -> SD_VTTK -> RV_LIKP -> SD_VBRK -> SD_VBAK -> SD_VKA -> SD_COND
MM_SPSTOCK -> MM_MATNR
IDOC

List of most important Arch. Objects
————————————-
FI_DOCUMNT
FI_GLF_IT
FI_SL_DATA
MM_EKKO
MM_EBAN
MM_MATBEL
MM_ACCTIT
SD_VBAK
SD_VBRK
RV_LIKP
PP_ORDER
PCA_OBJECT
CO_ALLO_ST
COPA1_*
COPA2_*
CO_ITEM

DATA ARCHIVING USING SARA
—————————
Scheduling archive and delete jobs
Use transaction SARA to schedule ADK sessions. Before starting the delete job, make sure that the archive files that have been created are available
and have been saved. In the case of parallel processing of delete and archive jobs, you must ensure that you can access backup on the database in case

there is a disk failure.
In order to minimize the system resources required, the delete jobs can be concatenated to start serially rather than in parallel.
Archiving programs usually create a log. This log can usually be made available centrally by the
ADK and can provide a statistical overview of the archiving.
Logs can be stored in an external storage system.

The functions available in transaction SARA depend on the programs that are defined and stored in transaction AOBJ.
The INDEX function refers to index build and index empty programs, which in turn refer to an application-specific index.
Application-specific indexes enable you to display individual archived documents from an original transaction. FI_DOCUMNT and, as of Release 4.0,

MM_MATBEL can be displayed in this way.

MANAGEMENT contains the data archiving administration function.
The ANALYZE function contains all read programs that are available for archived data.
Choose the “i” button to see the programs used by PREPROCESSING and POSTPROCESSING.
As of Release 4.6C, if you specify in Customizing that the archive files are to be stored in an external storage system, the “storage system” button

is displayed. You can move files from there to an external storage system

Step 1 : Create and archive variant:
Step 2 : Specify the archive user
The user who starts the archiving program requires the authorization SAP_ALL.
Step 3 : Specify start times
Step 4 : Define spool parameters
Since job logs can be large, you are advised not to print them immediately

possible Archiving Checks:
Status check            : IDOC
Pure master data         : MM_MATNR, FI_ACCRECV
Business checks+fiscal year    : C_COSTCTR
Business checks+residence time  : FI, SD, MM, PP, HR applications

Pure master data is usually difficult to archive because, in addition to the deletion indicator, whereused lists are also checked.
To archive a material master, for example, no documents referring to the material can be present in the database

Storing ADK files
Analysinf job logs
Problem solving durinf archiving
Handling ADK admin data
Authority checks within Archiving

Job Schduling and Variant Maintenance: RV_LIKP
———————————————-
Selection
possible by document number (Specify a defined value in the Document number selection criterion to avoid a full table scan.), creation date, delivery

type, sales org, shipping point.
Optional checks
Check FI document.       : Only activate i the system must ensure no uncleared deliveries are archvied
Check flow doc. residence: REsidence time is based on creation date of the last business event and not the creation of the delivery ddoc.
Alternative DB access     : Archiving program stores selected data in an internal table instead of a in a database cursor

The RV_LIKP preprocessing program tells you which documents cannot be archived and why
The RV_LIKP preprocessing log counts internally each unfulfilled criterion for a delivery, that is, there may be more non-archivable deliveries in the log

than there are actual deliveries.

Job Schduling and Variant Maintenance: SD_VBRK
———————————————-
Selection
possible by document number , creation date, invoice type, sales org.
Optional checks
Check flow doc. residence: REsidence time is based on creation date of the last business event.
Alternative DB access     : Archiving program stores selected data in an internal table instead of a in a database cursor

REsidence time : REquired
Flow            : Required : If the billing document has a subsequent document (such as a credit memo request relating to the billing document), the system

checks whether the subsequent document has the overall processing status “Completed”
Accountig doc  : Optional : If “Check accounting” is set in the archiving object Customizing, the system checks whether Financial Accounting has cleared the

billing document (for example, by payment).

Job Schduling and Variant Maintenance: SD_VBAK
———————————————-
Selection
possible by document number , creation date, order type, sales org.
Optional checks
Check purchase order
Check FI document
Has the billing document been cleared in financial accounting (for example, by payment)?
Check flow doc. residence
The system checks whether the subsequent documents belonging to the current sales document have the overall processing status “completed” The

individual steps are as follows:
Selection of follow-on documents in the table VBFA
Checking that the follow-on documents from the selection in the table VBUK have the overall processing status “completed”.
A standard order is only archived if the delivery goods issue has been posted and billed.
A customer quotation is only archived if the accompanying order has been delivered (in this case, the delivery itself is not be checked).
Alternative DB access

Flow Control in SARA
———————-
Check with the user department whether archiving should take place during the working day or at the weekend.
– Execute the test run without creating concrete archive files. The purpose of the test run is only to provide a more accurate assessment of data quantities

and runtimes.
– Discuss the following resource requirements with the system administration:
· Memory
· Background processing (deletion)
· Disk space for archive files
– Recommendation:
Parameter heaparea/nondia should be increased.
The value depends on the customer-specific configuration. Contact your system administrator.
– The required disk space for archive files can be read from the standard log for the test run.

Monitoring Activity in CCMs
—————————
The data archiving monitor is available as of Release 4.6. It is intended to enable the system administrator to monitor archiving sessions in the CCMS monitor

for his or her area (progress control during an archiving session). The data archiving monitor can be deactivated in crossarchiving object Customizing.
Tools -> CCMS -> Control/Monitorin ->alert monitor -> SAP CCMS monitor templates -> Data Archiving

you can display archiving  sessions in SM37

Restart After Program Error in Archiving Program
————————————————
Case 1:
DElete programs are schedueled manually after one or all of the archive files have been created
step1: Schedule the delete jobs for the existing archive files
step2: Delete the defective file from the file system
step3: Re-execute archiving with the same selection criteria
Case 2:
Delete programs are scheduled automaticall after all the archive files have been created. “Start at end” indicator is set in AOBJ
step1: Delete the archive files that have been already created in this session
step2: Set the delete indicator in archive management for teh interrupted session
Step3: Re-execute archiving with the same selection criteria

Restart After Program Error in Delete Program
————————————————
Case1:    cannot delete –> Restart the delete program
CAse2:  an archive file is defective and cant be read –> Contact SAP Support

Most common Program Errors:
————————-
storage : Insufficient storage space
database: Rollback segment overflows before transaction commit -> Change commit counter
database: Database log file overflows -> monitor db log files
database: Mutual blocking during deletion -> start jobs serially, not in parallel

profile  : profile parameter for memory are too small
heap_area_nondia
heap_area_total
tv_newpage_alloc

Archive LOg
——————–
The function module ARCHIVE_WRITE_STATISTICS writes the standard log.
During the test run, the standard log is not created for the following archiving objects:
FI_DOCUMNT
CO_ORDER
MM_MATNR
The logs are deleted when the spool jobs are cleaned up (which occurs on a regular basis).
Therefore, you have to decide what is to happen to the logs.
If you use an external storage system, you can store the archiving and spool logs there using the “store print lists” function.
Otherwise, you could store the data in RFT files in the file system by choosing System -> list-> Save -> In local file in the log display.

Archiving Sessions:
————————-
You can access archive management using transaction SARA.
The sessions are each bundled in groups of 20.

– The short text refers to the contents of an archiving session.
You should record the selection parameters used so that you can see at a glance the contents of archive files in archive management.
– You can also determine the selection parameters used by choosing “user settings” on the initial screen.
You can add or change archiving notes at any time.
– To remove entries in archive management from the database, call the management data for the archiving session in transaction SARA (double-click on the

archive files) and mark for archiving.
– The archiving program for BC_ARCHIVE removes all marked archiving sessions from the database. It is not possible to restrict this to specific objects.
– It is possible to reload archived management entries on an object-specific basis. The entries are then recreated with their original status.
In 4.6C, the reload function can be found by choosing Goto > REload

Administration of Archive Files
———————————
– The management table for archive files is ADMI_FILES.
– The following information on individual archive files is contained in the managment data:
Number of data objects
Sizes in MB
Archiving status
Creation date and time
– Index information is stored in the ARCH_IDX table.
Individual applications can build their own index tables, for example ARIX_<tablename> for FI_DOCUMNT.
– ’Archive file is accessible’ specifies whether ADK can directly access an archive file in the file system. When the detail display of archive files is

called, a “fileopen” occurs.
– Two statuses are possible:
1. Status regarding storage in an external storage system: Stored (in storage system)/not stored (file is in file system or in an HSM system)
2. File status: Archived/archived and deletion/complete. Complete means that an archive session occurred, but no file was created.

To determine whether the archive files have been stored in an optical archive, select a file and choose “storage system”
The “storage” field shows a red light if the archive file is not in the optical archive.
In this case, the red light does not denote an error.

Authoriaztion Checks:
————————–
Auth. object: S_ARCHIVE
Activities:    Write, Read, Delete, Reload

S_archive cehcek for activity and the application area to which teh archiving object belongs to and  archiving object

Auth. object: S_BTCH_JOB

There is at least one application-specific authorization object for each archiving object.
Application-specific authorizations are also required for read access to archives.
The archiving user should have SAP_ALL authorization.
Since it is possible to specify a user when scheduling an archiving session, a session can be started with a system user.

28

07 2015

Billing User Exits

User Exits For Billing
• USEREXIT_NUMBER_RANGE (Module pool SAPLV60A, program RV60AFZZ)
The internal number range used in the standard system is specified in the billing type table and can be changed in this user exit. This user exit is only called when the billing documents is created.
• USEREXIT_ACCOUNT_PREP_KOMKCV (Module pool SAPLV60A, program RV60AFZZ)
In this user exit additional fields for account determination that are not provided in the standard system are copied into communication structure KOMKCV (header fields).
• USEREXIT_ACCOUNT_PREP_KOMPCV (Module pool SAPLV60A)
In this user exit additional fields for account determination that are not provided in the standard system are copied into communication structure KOMPCV (item fields).
• USEREXIT_NUMBER_RANGE_INV_DATE (Module pool SAPLV60A, program RV60AFZC)
Depending on the number range, table TVFKD is used to set the billing date (country-specific requirments in Italy). USEREXIT_NUMBER_RANGE is automatically deactivated when this user exit is being applied.
• USEREXIT_FILL_VBRK_VBRP (Module pool SAPLV60A, program RV60AFZC)
This user exit is only called when the billing document is created. It is used to provide the header and the item of the new billing document with deviating or additional data.
• USEREXIT_PRINT_ITEM (Module pool SAPLV61A, program RV61AFZB)
Printing the item line of a billing document can be supplemented or changed.
• USEREXIT_PRINT_HEAD (Modulpool SAPLV61A, Programm RV61AFZB)
Printing the header line of a billing document can be supplemented or changed.
• User exits in program RV60AFZD
Short descriptions of the user exits are contained in the program:
o USEREXIT_RELI_XVBPAK_AVBPAK
o USEREXIT_NEWROLE_XVBPAK_AVBPAK
o USEREXIT_NEWROLE_XVBPAP_AVBPAK
The following user exits are available in report SAPLV60B for transfer to accounting (function group V60B):
• EXIT_SAPLV60B_001: Change the header data in the structure acchd
You can use this exit to influence the header information of the accounting document. For example, you can change the business transaction, “created on” date and time, the name of the person who created it or the transaction with which the document was created.
• EXIT_SAPLV60B_002: Change the customer line ACCIT
You can use this exit to change the customer line in the accounting document. This exit is processed once the ACCIT structure is filled in with data from document header VBRK.
• EXIT_SAPLV60B_003: Change the customer line in costing
The customer line is filled in differently for costing. You can use exit 003 to influence the ACCIT structure.
• EXIT_SAPLV60B_004: Change a GL account item ACCIT You can add information to a GL account item (such as quantity specifications) with this exit.
• EXIT_SAPLV60B_005: User exit for accruals
Once all relevant data for accruals was entered in the GL account item, you can add to this data with this exit.
• EXIT_SAPLV60B_006: Change the control line ACCIT
You can use exit 006 to add information to the control line.
• EXIT_SAPLV60B_007: Change the installment plan
You can use exit 007 to add information to the installment plan
parameters in the GL account item.
• EXIT_SAPLV60B_008: Change the transfer structure ACCCR, ACCIT and ACCHD
After the accounting document is filled in with data, you can use exit 008 to change the document once again.
• EXIT_SAPLV60B_010: Item table for customer lines
You can use exit 10 to influence the contents of customer lines before they are created.
• EXIT_SAPLV60B_0011: Change the parameter for cash account determination or reconciliation account determination
You can use this exit to change inbound parameters in order to influence account determination.

18

07 2015

Automatic PO creation

Create Purchase Order Automatically in Purchasing
In order to create automatically Purchase Orders from Purchase Requisitions you need to do the following in general.
Activate ‘auto PO’ indicator for material master
Activate ‘auto PO’ indicator for vendor master
Create purchasing Info records for the material
Create source lists
Activate SAP Business Workflow
The business object for the sales order is called BUS2032. The ALE indicator Create PO automatic. in the item category is used to control that the event ALECREATED and/or ALE CHANGED is triggered. For this event, the event linking must be activated to the receiver function module PUR_ORDER_CREATE_VIA_SD_EVENT and/or PUR_ORDER_CHANGE_VIA_SD_EVENT.

Create Purchase Requisitions using T Code ME51 or ME51N

Use T. Code ME59 or ME59N for auto conversion of PR into purchase order

16

07 2015

SE16H – New table browser transaction

Try the new table browser SE16H.
It contains some new functions in addition to SE16N.
Using SE16H you are able to access data from a SAP HANA Database directly from an ERP system.
SE16H provides the additional options for Database Connection, Group, Total, Sort, Highest /Lowest, Sequence, Aggregate and Outer Join Definition.
Using SE16H you can make drilldown into the result lists.

11

12 2014

Howto Search for BAdi’s in programs

Searching for a Classic BAdi within a program

Search for the keyword GET_INSTANCE in the program.
Double click on the reference variable to navigate to the variable
Double click on the BAdi interface to navigate to the interface
Use the where-used list in classes

Searching for a new BAdi within a program

Search for the keyword GET_BADI in the program
Double click on the reference variable to navigate to the variable
Double click on the BAdi name to navigate to the corresponding enhancement spot

21

03 2014

How to generate VOFM routines

It is required to run report RV80HGEN to regenerate the pricing routines after transport to the production system.
This is usually unknown or forgotten by the ABAP’ers. This leads to errors in the production system.
The best way to do this is to let SAP do this automatically for you by including a program execution command into your transport request.
Include the below into the object list of your request
R3TR XPRA RV80HGEN
This will execute the program RV80HGEN after the transport is imported into the target system.

21

03 2014